I'm trying to query posts using WP_Query and meta_query parameters:
$args = array(
'post_type' => 'produkty',
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'produkt_aktywny',
'value' => '1',
'compare' => '='),
array(
'key' => 'produkt_dostepnosc',
'value' => '1',
'compare' => '=')
)
);
$query = new WP_Query( $args );
What should I add to order the results by two other keys ('produkt_kategoria' and 'produkt_cena')? There's nothing about it in WP Codex, but this:
"Do you know how to sort the query if the meta_value is an array? Write it here :)"
According to this, I believe sorting by multiple meta values is possible.
Full article read here
I wanted to show posts from a custom post type. Order it by a custom field, and add a parameter where an other custom field was a certain value to show only a selection of posts.
eg. select custom_posts where custom_field_a=xxxx and order by custom_field_b
It took me a while to figure it out and when searching for it, I kept on stumbling on this post. So for all people having the same issue, here is the (simplified) code that finally did it.
You see that this is a loop in loop and therefor the value is dynamical. Of course, this could be hard coded too.
Hope it helps someone!
I believe you have to use 'meta_key' in the main $arg array. You can order by that meta value, but I don't think there's a built in way to order by 2 meta values. You can order by a second field (here, title), just not a second meta value field (as far as I know).
You may have to write some SQL. Scroll down on this page: http://wpquestions.com/question/show/id/1916
This might help also: https://wordpress.stackexchange.com/questions/10941/how-do-you-use-orderby-with-meta-query-in-wordpress-3-1