カスタム分類法のカスタムメタフィールドに休憩フィールドを登録しようとしています。 Modifying Responses でチュートリアルに従った。このコードは、カスタム投稿タイプの投稿メタデータ用のrestフィールドを追加するのに役立ちましたが、カスタム分類用のrestフィールドを追加するために次のコードを試したところ、うまくいきませんでした。私がやろうとしていることをすることは可能ですか?
add_action( 'rest_api_init', 'register_rest_field_for_custom_taxonomy_location' );
//REGISTER
function register_rest_field_for_custom_taxonomy_location() {
register_rest_field( 'location',
'location_code',
array(
'get_callback' => 'location_get_term_meta',
'update_callback' => 'location_update_term_meta',
'schema' => null;
)
);
}
//WRITE
function location_update_term_meta_field( $value, $object, $field_name ) {
if ( ! $value || ! is_string( $value ) ) {
return;
}
return update_term_meta( $object->ID, $field_name, $value );
}
//READ
function location_get_term_meta_field( $object, $field_name, $request ) {
return get_term_meta( $object[ 'id' ], $field_name, true );
}
Register_rest_field_for_custom_taxonomy_location()関数の両方のコールバックのスペルが間違っています。
変化する
'get_callback' => 'location_get_term_meta',
'update_callback' => 'location_update_term_meta',
に
'get_callback' => 'location_get_term_meta_field',
'update_callback' => 'location_update_term_meta_field',
登録コード
function register_rest_field_for_custom_taxonomy_location() {
register_rest_field( 'location',
'location_code',
array(
'get_callback' => 'location_get_term_meta_field',
'update_callback' => 'location_update_term_meta_field',
'schema' => null,
)
);