3

I'm new to wordpress and also working with WP REST API for mobile application development for the wordpress website. Here I want get data's filter & search based post meta custom fields.

I've tried for this example but getting all results not belongs property_featured=1

Kindly find my postmeta table structure for example.

meta id post id meta key           meta value 
---------------------------------------------
2548    1000    property_featured    
3068    1078    property_featured   1   
3619    1124    property_featured   1 

Here i want to get the post based on property_featured=1 only. Pls help to me fix on this.

  • This is a simple SQL query, you may do it using WP_query. If you're not familiar with SQL, you may find many examples of WP_query... After that, it depends what your parameters are (static, comming from user...) – Random May 6 '16 at 13:31
3

You will need to add custom query vars:

add_filter('rest_query_vars', 'wpse225850_add_rest_query_vars');

function wpse225850_add_rest_query_vars($query_vars) {

    $query_vars = array_merge( $query_vars, array('meta_key', 'meta_value', 'meta_compare') );

    return $query_vars;

}

Now, get your posts at example.com/wp-json/wp/v2/posts?filter[meta_key]=property_featured&filter[meta_value]=1.

You can follow this ticket for more info.

  • Thanks for your answer. I need to know which file need to add given above code. Is it possible to do multiple custom meta fields like above mentioned answer. – sankar muniyappa May 6 '16 at 14:18
  • Anyone pls help to me which file i need to add given answer. – sankar muniyappa May 6 '16 at 14:53
  • in your wordpress plugin – Ahed Eid May 6 '16 at 14:58
  • @shankarmsr Add the code to your functions.php file. – MinhTri May 6 '16 at 14:58
  • @Dan Its works fine. But if the meta value was empty means that post also returning with response so this case empty field post are not able to come right. And also is it possible to get filter works for multiple custome fields here – sankar muniyappa May 6 '16 at 15:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.