MENU

attachment_id3_data_meta_box()

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

どのファイル形式に対応していますか?

MP3、M4A、WAV などの主要な音声形式に対応していますが、ID3 タグが埋め込まれている必要があります。

音声ファイルの長さ(duration)も取れますか?

はい。lengthlength_formatted キーで取得可能です。

この関数はどこで定義されていますか?

wp-admin/includes/media.php に定義されています。

まとめ

  • attachment_id3_data_meta_box() は、音声ファイルに含まれる ID3 メタ情報を WordPress 管理画面で表示するための内部関数。
  • 通常は自動的に使われるが、開発者が add_meta_box() を使って拡張することも可能。
  • wp_get_attachment_metadata()wp_read_audio_metadata() などと連携して使う。
  • 音声配信やポッドキャスト向けのカスタマイズに活用できる便利な関数。
よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次