2017-09-20 6 views

Antwort

0

Erstellen Sie einen benutzerdefinierten Endpunkt, der eine benutzerdefinierte Abfrage verwendet. Etwas wie folgt aus:

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

Endpunkt: yoursite.com/wp-json/search/all

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

Erinnern Sie sich die Permalinks zu löschen, wenn neue Endpunkte Registrierung notwendig!

0

Das Erhalten von Beiträgen ist auf 100 pro Seite begrenzt, aber jede Anfrage gibt die Kopfzeile X-WP-TotalPages zurück, die Ihnen die Anzahl der gesamten Seiten Ihrer Anfrage angibt.

tun also einen Antrag auf den nächsten Seiten ...

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

... und so weiter, bis Sie durch alle verfügbaren Seiten gegangen sind.

Quelle: REST API Handbook

Verwandte Themen