attachment_id3_data_meta_box()
は、WordPressの管理画面で音声ファイルの ID3 タグ(メタデータ)を表示するためのメタボックスを登録・表示する内部関数です。
主に MP3 ファイルなどの音声ファイルの詳細情報(アーティスト名やアルバム名など)を管理画面の「添付ファイル」編集画面で確認する用途に使われます。
通常は開発者が直接呼び出すことはありませんが、音声ファイル関連のカスタマイズで活用できます。
目次
機能の説明
どんなテンプレートタグ?
- 音声ファイルに埋め込まれた ID3 メタ情報を表示するメタボックスを生成。
- 管理画面の「メディアライブラリ」内、添付ファイル編集画面で利用。
wp_read_audio_metadata()
関数を使って、ファイルの ID3 メタデータを取得。
どんな時に使う?
- オーディオコンテンツを多用するサイトで、音声ファイルのメタ情報を確認・活用したい時。
- 管理画面のカスタムメタボックスを拡張して、音声ファイルの情報表示を行いたい場合。
シンプルなコード例
通常は WordPress コアから自動的に呼び出されるため、明示的に呼び出す必要はありません。
開発者が使う場合の参考例:
add_meta_box(
'id3-data',
__( 'Audio Meta', 'textdomain' ),
'attachment_id3_data_meta_box',
'attachment',
'normal',
'default'
);
- 上記のようにメタボックスを追加して、呼び出すことも可能です。
- 通常は
wp-admin/includes/media.php
内で定義されています。
使い方の説明
引数
この関数はコールバック関数で、通常は add_meta_box()
の第3引数に渡して使います。
function attachment_id3_data_meta_box( $post ) {
// $post は WP_Post オブジェクト
}
内部処理で wp_get_attachment_metadata()
を使い、audio
キーの中に格納された ID3 情報を表示します。
一緒に使うことが多い関連タグ
wp_read_audio_metadata()
$metadata = wp_read_audio_metadata( $file_path );
音声ファイルから ID3 タグ情報を読み取る関数。
wp_get_attachment_metadata()
$meta = wp_get_attachment_metadata( $attachment_id );
- 添付ファイルに保存されているメタデータを取得。
audio
キー配下に ID3 データが格納されている。
add_meta_box()
add_meta_box( 'id3-data', 'Audio Info', 'attachment_id3_data_meta_box', 'attachment', 'normal' );
attachment_id3_data_meta_box()
を表示するためのメタボックス追加関数。
追加情報で取得したい場合
音声ファイルに関連するメタ情報を直接取得したい場合
$meta = wp_get_attachment_metadata( $attachment_id );
$audio_meta = $meta['audio'] ?? [];
取得できる情報の例
artist
album
year
genre
track_number
length
このテンプレートタグを利用してのカスタマイズ
カスタムメタボックスを拡張して音声の長さを表示
function custom_audio_info_box( $post ) {
$meta = wp_get_attachment_metadata( $post->ID );
if ( isset( $meta['audio']['length_formatted'] ) ) {
echo '<p><strong>長さ:</strong> ' . esc_html( $meta['audio']['length_formatted'] ) . '</p>';
}
}
add_meta_box( 'custom_audio_info', 'Audio Duration', 'custom_audio_info_box', 'attachment', 'side' );
想定されるトラブル
音声メタデータが表示されない
MP3ファイルをアップロードしてもメタ情報が表示されない。
解決方法
- 音声ファイルに ID3 タグが埋め込まれていない可能性がある。
- サーバーに
getID3
ライブラリが正しく読み込まれていない(WordPressは内部で使用)。 wp_generate_attachment_metadata()
が実行されていない場合はメタ情報が保存されない。
Q&A
まとめ
attachment_id3_data_meta_box()
は、音声ファイルに含まれる ID3 メタ情報を WordPress 管理画面で表示するための内部関数。- 通常は自動的に使われるが、開発者が
add_meta_box()
を使って拡張することも可能。 wp_get_attachment_metadata()
やwp_read_audio_metadata()
などと連携して使う。- 音声配信やポッドキャスト向けのカスタマイズに活用できる便利な関数。
コメント