plugins – Compare custom field values
I have created a page that receives information and filters the posts by that choice. The page gets the information with _GET and I use the following code to send the query
$postss = new WP_Query([ 'post_type' => 'post', 'meta_query' => array( array( 'key' => 'City:', 'value' => $city, 'compare' => 'LIKE', ), array( 'relation' => 'AND', array('key' => 'Time:', 'value' => 'hour', 'compare' => 'LIKE', ), ), ), 'cat' => $category, 'posts_per_page' => 9, 'post_status' => 'publish', 'paged' => $paged ]);
However my issue is, I have an input where the user can specify the city, then the category and then the time. The city and category work fine, but when we come to time I have placed few options with a drop down : under 1 hour, under 2 hours, under 3 hours etc . With this I can easily check with php if the time value is 1 2 3 etc and simply create the query
where time LIKE '%hour%'
however when the user chooses the 1, means that it’s not just 1 hour, but it can also include minutes, so for example 30 minutes, so the results shold include 1 hour, but all minutes, so the query should be something like
where time like '%min%' AND time like '%1%'
Also there is an issue, I don’t know how exactly to add the % symbol (because sometimes there is 10 min sometimes it’s 20 minutes – plural) so
would be okay, but not the same for hous, since if i do
it will also include hours, so it should be
where time like '%hour'
in sql is easy, but with the wp_query I am not sure where to place the % symbol.
Leave an answer