2017-05-15 11 views
1

これは、コアワードプレス機能(カスタムフィールドとREST API)の両方であるため、プラグインを一切使用しないでこれを行います。ここでは、参照用のカスタムフィールドのドキュメントは次のとおりです。ここで残りの投稿に定義されたカスタムフィールドをワードプレスのAPIレスポンスに追加するには

https://codex.wordpress.org/Using_Custom_Fields

は私のワードプレスのインストールからのスクリーンショットです:ここでは

wordpress custom fields

はポストのためのAPIレスポンスは現在、次のようになります。

{ 
    "_links": { 
     "about": [ 
      { 
       "href": "http://example.com/wp-json/wp/v2/types/post" 
      } 
     ], 
     "author": [ 
      { 
       "embeddable": true, 
       "href": "http://example.com/wp-json/wp/v2/users/1" 
      } 
     ], 
     "collection": [ 
      { 
       "href": "http://example.com/wp-json/wp/v2/posts" 
      } 
     ], 
     "curies": [ 
      { 
       "href": "https://api.w.org/{rel}", 
       "name": "wp", 
       "templated": true 
      } 
     ], 
     "replies": [ 
      { 
       "embeddable": true, 
       "href": "http://example.com/wp-json/wp/v2/comments?post=21" 
      } 
     ], 
     "self": [ 
      { 
       "href": "http://example.com/wp-json/wp/v2/posts/21" 
      } 
     ], 
     "version-history": [ 
      { 
       "href": "http://example.com/wp-json/wp/v2/posts/21/revisions" 
      } 
     ], 
     "wp:attachment": [ 
      { 
       "href": "http://example.com/wp-json/wp/v2/media?parent=21" 
      } 
     ], 
     "wp:featuredmedia": [ 
      { 
       "embeddable": true, 
       "href": "http://example.com/wp-json/wp/v2/media/23" 
      } 
     ], 
     "wp:term": [ 
      { 
       "embeddable": true, 
       "href": "http://example.com/wp-json/wp/v2/categories?post=21", 
       "taxonomy": "category" 
      }, 
      { 
       "embeddable": true, 
       "href": "http://example.com/wp-json/wp/v2/tags?post=21", 
       "taxonomy": "post_tag" 
      } 
     ] 
    }, 
    "author": 1, 
    "categories": [ 
     5, 
     4 
    ], 
    "comment_status": "open", 
    "content": { 
     "protected": false, 
     "rendered": "" 
    }, 
    "date": "2017-05-14T15:25:33", 
    "date_gmt": "2017-05-14T15:25:33", 
    "excerpt": { 
     "protected": false, 
     "rendered": "" 
    }, 
    "featured_media": 23, 
    "format": "standard", 
    "guid": { 
     "rendered": "http://example.com/?p=21" 
    }, 
    "id": 21, 
    "link": "http://example.com/2017/05/14/post/", 
    "meta": [], 
    "modified": "2017-05-15T18:17:34", 
    "modified_gmt": "2017-05-15T18:17:34", 
    "ping_status": "open", 
    "slug": "", 
    "sticky": false, 
    "tags": [], 
    "template": "", 
    "title": { 
     "rendered": "" 
    }, 
    "type": "post" 
} 

関連性がある場合は、ここに私のアクティブなプラグインがあります:

list of active wordpress plugins: Enable Media Replace, S3 Uploads

すべてのヘルプは大歓迎です。ありがとうございました!

答えて

2

まずあなたが

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, 
    ) 
); 
} 

はその後、ローカルサイト

enter image description here

をでテスト get custom fields

function get_custom_fields($object, $field_name, $request) { 
//your code goes here 
return $customfieldvalue; 
} 

に、あなたの関数を定義WP REST API JSON応答でカスタムのエンドポイントを追加するにregister_rest_fieldsに必要

+0

ありがとうございます。このコードはどこに行くのですか?あなたのテーマ機能の – quinn

+0

、またはプラグイン機能でプラグインを使用している場合 –

関連する問題