2017-05-13 6 views
0
function my_rest_prepare_post($data, $post, $request) { 
    $_data = $data->data; 
    $_data[$field] = get_post_meta($post->ID, 'my_custom_field_key', true); 
    $data->data = $_data; 
    return $data; 
} 
add_filter('rest_prepare_post', 'my_rest_prepare_post', 10, 3); 

上記のコードは、私がAPIにメタ値を含めるために使用しているコードです。しかし、私は複数のメタを含めることを望むmy_custom_field_keyに別のメタキーを追加しようとしましたが、最初のキーの値だけを表示しました。WordPress REST APIで複数のポストメタを取得

2番目の問題は、メタ値だけを表示しました。どのようにJSON応答にkey:valueを含めることができますか?この同様の質問に私の受け入れ答えを変更

答えて

0

、私は自分のローカルサイトでの作業機能をテストしてみました。

add_action('rest_api_init', 'add_custom_fields'); 
function add_custom_fields() { 
register_rest_field(
'post', 
'custom_fields', //New Field Name in JSON RESPONSEs 
array(
'get_callback' => 'get_custom_fields', // custom function name 
'update_callback' => null, 
'schema'   => null, 
) 
); 
} 

その後

​​
0

//returns an array of metadata get_metadata('post', $post->ID)

https://codex.wordpress.org/Function_Reference/get_metadata

+0

あなたは2つのメタキーでコードの上に編集することができますカスタムフィールドを得るためにあなたの関数を定義する..私は試みたが、不正なコードは、サーバーエラーでダウン私のウェブサイトを取得し、私は編集する必要がありますftp。そうでなければ、get_post_metaをget_metadataに置き換え、複数のメタキーを追加します。これは正しいget_metadata( 'post'、$ post-> ID、$ meta_key)ですか? $ meta_keyはすべてのメタキーを含む配列です。 – Mangal

関連する問題