WP_Query-Ergebnis in Form von Rest-API-Ergebnissen

Dies ist ein einfaches Post-Ergebnis-Array.

$query = new WP_Query( array( 'post_type' => 'post' ) ); $posts = $query->posts; // returns simple array of data 

Gibt es eine Möglichkeit, die Ergebnisse von wp-json / wp / v2 / posts / _ einzubetten, ohne eine zusätzliche Anfrage an den Server zu stellen, um json zu holen und dann zu php array zu dekodieren?

Auf der Suche nach so etwas:

 $posts = $query->rest_posts(); // for example ?? 

Solutions Collecting From Web of "WP_Query-Ergebnis in Form von Rest-API-Ergebnissen"

Ich denke, wir können es vereinfachen mit:

 $request = new WP_REST_Request( 'GET', '/wp/v2/posts' ); $response = rest_do_request( $request ); $data = rest_get_server()->response_to_data( $response, true ); 

mit rest_do_request() .

$ query = neu WP_Query (array (‘post_type’ => ‘post’));

$ posts = $ query-> Beiträge; // gibt ein einfaches Datenfeld zurück

Gibt es eine Möglichkeit, die Ergebnisse von wp-json / wp / v2 / posts / _ einzubetten, ohne eine zusätzliche Anfrage an den Server zu stellen, um json zu holen und dann zu php array zu dekodieren?

Auf der Suche nach so etwas:

$ posts = $ query-> rest_posts (); // beispielsweise ??

Nach dem Graben in den Quellcode endete mit dieser Lösung. functioniert für mich, könnte auch für andere nützlich sein.

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