How to use? * http://mysite.com/wp-json/wp/v2/posts?meta_key=&meta_value= * * > E.g. Get posts which post meta `already-visited` value is `true`. * * Request like: http://mysite.com/wp-json/wp/v2/post?meta_key=already-visited&meta_value=true * * @since 1.0.0 * * @link https://codex.wordpress.org/Class_Reference/WP_Query * * @see Wp-includes/Rest-api/Endpoints/Class-wp-rest-posts-controller.php * * @param array $args Contains by default pre written params. * @param array $request Contains params values passed through URL request. * @return array $args New array with added custom params and its values. */ if( ! function_exists( 'post_meta_request_params' ) ) : function post_meta_request_params( $args, $request ) { $args += array( 'meta_key' => $request['meta_key'], 'meta_value' => $request['meta_value'], 'meta_query' => $request['meta_query'], ); return $args; } add_filter( 'rest_post_query', 'post_meta_request_params', 99, 2 ); // add_filter( 'rest_page_query', 'post_meta_request_params', 99, 2 ); // Add support for `page` // add_filter( 'rest_my-custom-post_query', 'post_meta_request_params', 99, 2 ); // Add support for `my-custom-post` endif;