このガイドに従ってWP REST API(v2)呼び出しの応答オブジェクトを変更しようとしています。 http://v2.wp-api.org/extending/modifying/
私はキャリアと呼ばれる投稿タイプと地域と呼ばれる分類法を持っています。
両方とも"show_in_rest" => true
に設定されています
私はかなりパーマリンクを使っています。
mydomain/wp-json/wp/v2/careers
をGETすると、期待通りに結果が返されます。
ここまでは順調ですね。
私はレスポンスに分類用語を返したかったので、次のコードをfunctions.phpに追加しました
add_action( 'rest_api_init', 'add_location_to_career_endpoint' );
function add_location_to_career_endpoint() {
register_rest_field( 'career',
'regions',
array(
'get_callback' => 'career_get_the_region',
'update_callback' => null,
'schema' => null,
)
);
}
function career_get_the_region( $object, $field_name, $request ) {
return get_the_terms( $object[ 'id' ], $taxonomies, null);
}
これはWordPressの1つのインスタンス(私の開発版)のキー "地域"に対する用語の配列を返します。
私の問題は、ステージング(devと同じ設定)に移行したときに分類条件が返されないことです。
register_rest_field()
は実行中です。$ attribute( 'regions')にちんぷんかんぷんを追加するとエラーが発生するためです。しかし、 "地域"キーと配列は私の結果に返されていません。
ここにどんな助けでも大いに感謝されるでしょう。
問題は私のステージングであり、開発者はImが破壊的な変更を行ったと仮定するWP APIプラグインのマイナーバージョンの違いを1つ使用していました。