REST APIでカスタムフィールドで設定した画像・ファイルを取得したい。
-
Aサイトで設定したカスタム投稿タイプの一覧を
Bサイトにも表示するためにREST APIを使っています。投稿の各項目にはSmart Custom Fieldsを使用。
現状では設定したテキストやアイキャッチ画像は表示できました。
Smart Custom Fieldsで設定した画像やファイル(PDF)の取得をしたいのですが画像IDしか表示できません。Aサイトfunctions.phpで設定した内容
add_action( 'rest_api_init', function() { register_rest_field( 'event', // post type 'post_meta', // rest-apiに追加するキー array( 'get_callback' => function( $object, $field_name, $request ) { // 出力したいカスタムフィールドのキーをここで定義 $meta_fields = array( 'lead', 'photo01', 'pdf01', '***', ); $meta = array(); foreach ( $meta_fields as $field ) { $meta[ $field ] = get_post_meta( $object[ 'id' ], $field, true ); } return $meta; }, 'update_callback' => null, 'schema' => null, ) ); } );
Bサイトでの設定内容
<?php $url = "http://www.demo.jp/wp-json/wp/v2/event?per_page=10&_embed"; $json = file_get_contents($url); $arr = json_decode($json,true); ?> <ul> <?php foreach ($arr as $data): $title = $data["title"]["rendered"]; $date = date('Y年n月j日', strtotime($data["date"])); $link = $data["link"]; $thum = $data["_embedded"]["wp:featuredmedia"][0]["media_details"]["sizes"]["medium"]["source_url"]; $lead = $data["post_meta"]["lead"]; $photo01 = $data["post_meta"]["photo01"]; $pdf01 = $data["post_meta"]["pdf01"]; ?> <li> <p><img src="<?php echo $thum; ?>"></p> <p><a href="<?php echo $pdf01; ?>" target="_blank"><img src="<?php echo $photo01; ?>"></a></p> <p><?php echo $lead; ?></p> </li> <?php endforeach; ?> </ul>
上記内容のphoto01やpdf01を表示するにはどうすればよいのかご教授いただけると助かります。
色々と検索してみたのですがどうしても解決策にたどり着けませんでした。
上記コードも公開していただいているものを参考にしております。
どうぞよろしくお願いします。
2件の返信を表示中 - 1 - 2件目 (全2件中)
2件の返信を表示中 - 1 - 2件目 (全2件中)
- トピック「REST APIでカスタムフィールドで設定した画像・ファイルを取得したい。」には新たに返信することはできません。