Ceci est un simple tableau de résultats.
$query = new WP_Query( array( 'post_type' => 'post' ) );
$posts = $query->posts; // returns simple array of data
Existe-t-il un moyen d’obtenir les résultats de wp-json/wp/v2/posts /? _Embed sans faire de requête supplémentaire au serveur pour extraire json puis décoder en tableau php?
Vous cherchez quelque chose comme ça:
$posts = $query->rest_posts(); // for example ??
Je pense que nous pouvons le simplifier avec:
$request = new WP_REST_Request( 'GET', '/wp/v2/posts' );
$response = rest_do_request( $request );
$data = rest_get_server()->response_to_data( $response, true );
en utilisant rest_do_request()
.
Après avoir fouillé dans le code source, nous avons eu cette solution. Travaille pour moi, pourrait être utile aux autres aussi.
function get_rest_items_query($post_type, $posts_per_page, $orderby = 'date', $order = 'desc') {
$result = array();
$args = array( 'post_type' => $post_type, 'posts_per_page' => $posts_per_page, 'orderby' => $orderby, 'order' => $order );
$posts = get_posts($args);
$ids = implode(',', wp_list_pluck($posts, 'ID'));
// request
$restRequest = new WP_REST_Request('GET', '/wp/v2/' . $post_type );
$restRequest->set_param('include', $ids);
// response
$response = rest_do_request( $restRequest );
// _embed
$rest = rest_get_server()->response_to_data( $response, true );
$result['posts'] = $rest;
return $result;
}
$ query = new WP_Query (array ('post_type' => 'post'));
$ posts = $ query-> posts; // retourne un simple tableau de données
Existe-t-il un moyen d’obtenir les résultats de wp-json/wp/v2/posts /? _Embed sans faire de requête supplémentaire au serveur pour extraire json puis décoder en tableau php?
Vous cherchez quelque chose comme ça:
$ posts = $ query-> rest_posts (); // par exemple ??