Here I want to add query for more then one meta key as here:
$where .= " AND meta_key='order_assign_delivery_date' AND meta_value LIKE '0000%' And meta_key='order_assign_data' AND meta_value=0";
so now how to do this?
above query not working and that's obvious
Please guide me how to use more than one meta_key in same query in posts_where filter
First you have to set up two postmeta using custom_posts_join
filter
function custom_posts_join($join){
global $wpdb;
$join .= " LEFT JOIN $wpdb->postmeta as meta_1 ON $wpdb->posts.ID = meta_1.post_id LEFT JOIN $wpdb->postmeta as meta_2 ON $wpdb->posts.ID = meta_2.post_id";
return $join;
}
add_filter( 'posts_join' , 'custom_posts_join');
And then you can now set the posts_where
function filter_where( $where = '' ) {
$where .= " AND meta_1.meta_key='order_assign_delivery_date' AND meta_1.meta_value LIKE '0000%' And meta_2.meta_key='order_assign_data' AND meta_2.meta_value=0";
}
add_filter('posts_where', 'filter_where');
Let me know if this works for you!