meta_query, how to search using both relation OR & AND?
I found the solution with some help.The code below worked perfectly.
$args => array( 'relation' => 'AND', array( 'relation' => 'OR', array( 'key' => 'title', 'value' => $searchvalue, 'compare' => 'LIKE' ), array( 'key' => 'author', 'value' => $searchvalue, 'compare' => 'LIKE' ), array( 'key' => 'genre', 'value' => $searchvalue, 'compare' => 'LIKE' ) ), array( 'key' => 'rating', 'value' => $ratingvalue, 'compare' => '=', 'type' => 'NUMERIC' ) ));
After a bit trial and error I find a solution to this. This is logical I mean meta_query does not supports the array for field "key", but giving the array in "key", I'm getting the perfect solution. I may be sound crazy but it's working like charm.
$args => array( 'relation' => 'AND', array( 'key' => array('title','author','genre',), 'value' => $searchvalue, 'compare' => '=' ), array( 'key' => 'rating', 'value' => $ratingvalue, 'compare' => '=', 'type' => 'NUMERIC' ))
You only get a warning for "trim()" as we are passing an array instead of a string. Suppress that warning or Please add something if you find a better solution.