WP-RESTでJSONにカスタムメタを追加

rest_api_initのregister_rest_fieldを利用して、JSONデータにカスタムメタ値を追加します。

WP-RESTでJSONにカスタムメタを追加

<?php
add_action( 'rest_api_init',  function() {
    register_rest_field(
        'post',        // post type
        'post_meta',   // rest-apiに追加するキー
        array(
            'get_callback'  => function(  $object, $field_name, $request  ) {
                // 出力したいカスタムフィールドのキーをここで定義
                $meta_fields = array(
                    'color',
                    'price',
                );
                $meta = array();
                foreach ( $meta_fields as $field ) {
                    // バリデーションを一切してないので注意
                    $meta[ $field ] = get_post_meta( $object[ 'id' ], $field, true );
                }
                return $meta;
            },
            'update_callback' => null,
            'schema'          => null,
        )
    );
} );
ソースコード装飾ならGoogle code prettify

中の人 に更新 178文字 537view
※この記事は2年前の記事です。内容が古い可能性があります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


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