説明
wp_prepare_attachment_for_js() は、添付ファイルのデータを、メディアモーダル用のJavaScriptデータに整形する関数です。
基本構文
wp_prepare_attachment_for_js( int|WP_Post $attachment ): array|void
引数
$attachment:添付ファイルのIDまたはオブジェクト
戻り値
JS向けのデータ配列。
使い方(サンプル)
$data = wp_prepare_attachment_for_js( 45 );
注意点
- 管理画面で独自のメディア選択UIを作るときに使われます。
実務での使いどころ
- メディアライブラリの画面(
wp.media)が使う形式の、データを用意するとき。 - 独自のメディア選択画面に、添付ファイルの情報をJavaScriptへ渡すとき。
よくあるミスと対処
- 添付ファイルでない投稿のIDを渡している。何も返らない。
- 返る配列の項目を、確認せずに使っている。バージョンやファイルの種類によって、項目が違う。
NG例
$data = wp_prepare_attachment_for_js( $post_id ); // 添付ファイルでない投稿のIDで、何も返らない
OK例
$data = wp_prepare_attachment_for_js( $attachment_id );
if ( $data ) {
wp_send_json_success( $data );
}
使い分け早見表
| 関数 | 役割 |
|---|---|
wp_prepare_attachment_for_js() |
JavaScript用に整えた、メディアのデータを返す |
wp_get_attachment_metadata() |
メディアのメタデータを返す |
wp_get_attachment_url() |
メディアのURLを返す |
関連項目
wp_enqueue_media()、wp_get_attachment_url()
公式リファレンス:wp_prepare_attachment_for_js() | Function | WordPress Developer Resources

コメント