WP_Query result in form of Rest API results

I think we can simplify it with: $request = new WP_REST_Request( ‘GET’, ‘/wp/v2/posts’ ); $response = rest_do_request( $request ); $data = rest_get_server()->response_to_data( $response, true ); by using rest_do_request().

Get Image URL instead of Attachment Id in Rest API

You can modifiy REST API responses in themes functions.php like this. function ws_register_images_field() { register_rest_field( ‘post’, ‘images’, array( ‘get_callback’ => ‘ws_get_images_urls’, ‘update_callback’ => null, ‘schema’ => null, ) ); } add_action( ‘rest_api_init’, ‘ws_register_images_field’ ); function ws_get_images_urls( $object, $field_name, $request ) { $medium = wp_get_attachment_image_src( get_post_thumbnail_id( $object->id ), ‘medium’ ); $medium_url = $medium[‘0’]; $large = wp_get_attachment_image_src( … Read more

Why does WordPress use serialize rather than json_encode for the options table? [duplicate]

serialize representation can be stored in text and reversed JSON representation can be stored in text but cannot always be precisely reversed Run this example: $query = new WP_Query(); var_dump( $query ); var_dump( unserialize( serialize( $query ) ) ); var_dump( json_decode( json_encode( $query ) ) ); After going through serialize accurate WP_Query object is re-created. … Read more

Fetch All Posts (Including Those Using a Custom Post Type) With WordPress API

I ended up extending the API like suggested in the comments to my question, although I was hoping there was a default route that fetched all posts of all post types. Apparently, there isn’t. So here’s my solution: add_action( ‘rest_api_init’, ‘custom_api_get_all_posts’ ); function custom_api_get_all_posts() { register_rest_route( ‘custom/v1’, ‘/all-posts’, array( ‘methods’ => ‘GET’, ‘callback’ => ‘custom_api_get_all_posts_callback’ … Read more

WP JSON REST API (Ryan McCue) how to query posts with specific meta data with ‘AND’ relation?

Sorry for answering my own question but it may help some other devs too. I created this additional filter ‘json_query_var-meta_query’that returns the necessary arguments. function adjustQrry($data){ $args = array(); $args[‘relation’] = ‘AND’; foreach ($data as $key=>$value) { if ( ‘relation’ === $key ) { $args[‘relation’] = $data[‘relation’]; } if ( substr($key, 0, 3) === ‘key’ … Read more

Allowing admin-ajax.php to receive “application/json” instead of “x-www-form-urlencoded”

it seems the latter only accepts x-www-form-urlencoded That’s not completely true. WordPress admin-ajax.php takes the action from $_REQUEST[‘action’] and $_REQUEST is equal to: array_merge($_POST, $_GET); But what many people don’t realize is that $_GET in PHP is not the data was sent to page using HTTP GET method, in fact, you can use whatever HTTP … Read more