2017-09-20 4 views

答えて

0

カスタムクエリを使用するカスタムエンドポイントを作成します。このような何か:

add_action('rest_api_init', function() { 
    register_rest_route('search', '/all', array(
    'methods' => 'GET', 
    'callback' => 'get_all_posts', 
)); 
}); 

エンドポイント:yoursite.com/wp-json/search/all

function get_all_posts() { 
    $query = new WP_Query( 
    array('posts_per_page' => -1) 
); 
    return json_encode($query); 
} 

新しいエンドポイントを登録するときにパーマリンクをクリアすることを忘れないでください!

0

投稿を取得するには、1ページあたり100件に上限がありますが、リクエストごとに合計ページ数を示すX-WP-TotalPagesというヘッダーが返されます。あなたが利用可能なすべてのページを行ってきたまで

だから、その次のページの要求を行う...

var url = your-route.example/wp-json/wp/v2/posts?per_page=100 

$http.get(url). 
    success(function(response) { 
    var pagesNum = response.headers('X-WP-TotalPages') 
     for (var i = 2; i <= pagesNum; i++) { 
      $http.get(url+'&page='+i) 
       .success(function(response){ 
        // do something with the next page data 
       }) 
     } 
    }); 

...と。

出典:REST API Handbook

関連する問題