2016-03-24 8 views
2

'/ media'エンドポイントのwp json api reponseに追加フィールドを追加しようとしています。 docに続いて、私は '/ posts'や '/ pages'のために働いていますが、 '/ media'エンドポイントのフィールドを追加する方法はわかりません。だから、wp json apiメディアレスポンスの変更方法

この作品( '/ポスト' または '/ページ' の):メディアの場合

add_action('rest_api_init', 'np_register_extra_field'); 
function np_register_extra_field() { 
    register_rest_field('post', 
    // register_rest_field('page', // this works too 
     'extra_media_field', 
     array(
      'get_callback' => 'np_get_extra_field', 
      'update_callback' => null, 
      'schema'   => null, 
     ) 
    ); 
} 
function np_get_extra_field($object, $field_name, $request) { 
    return 'foobar'; 
} 

を、これは動作しません、これまでのところ、私はこのように試してみた:

add_action('rest_api_init', 'np_register_extra_field'); 
    function np_register_extra_field() { 
     register_rest_field('media', 
      'extra_media_field', 
      array(
       'get_callback' => 'np_get_extra_field', 
       'update_callback' => null, 
       'schema'   => null, 
     ) 
    ); 
    } 
    function np_get_extra_field($object, $field_name, $request) { 
    return 'foobar'; 
    } 

私はまた、他のフィルタに「フック」試してみました(正しい方法はそれを言っていることです?)これらの

add_action('rest_media_query', 'np_register_extra_field'); 
add_action('rest_pre_insert_media', 'np_register_extra_field'); 
add_action('rest_prepare_attachment', 'np_register_extra_field'); 

なしトリックを行うように思いません。

endgoalが

WPのJSON APIを使用して、メディア応答

にフィールド 'srcset' を追加することです:バージョン2.0-beta12

wordrpess:バージョン4.4.2

どれでも助けに感謝します。

答えて

0

mediaの代わりにタイプattachmentを使用する必要があります。これは動作するはずです:

add_action('rest_api_init', 'np_register_extra_field'); 
    function np_register_extra_field() { 
     register_rest_field('attachment', 
      'extra_media_field', 
      array(
       'get_callback' => 'np_get_extra_field', 
       'update_callback' => null, 
       'schema'   => null, 
     ) 
    ); 
    } 
    function np_get_extra_field($object, $field_name, $request) { 
    return 'foobar'; 
    } 
+0

ありがとうございます@herrstucki。あなたが正しいです、それが私がやっていることです、それは動作します。 –

関連する問題