我正在使用此查询做一些帖子。
$args = array(
'post_type' => 'spaces',
'post_per_page' => '500',
'orderby' => 'rand',
'meta_key' => 'space-city',
'meta_value' => $search,
);
$query = new WP_query($args);
现在我需要按每个帖子的评论总数来排序结果。我有一个名为“space-comments”的自定义字段,但我不知道如何使用第二个meta_key对这些帖子进行排序。
我做了一些测试,但是当“space-comments”有值时我才能发帖。如果没有值,则帖子不会显示。
任何想法我该如何开始?
答案 0 :(得分:0)
WP_Query可以接受一个meta_query参数,该参数被填充为子参数数组。该数组可以有子数组,每个子数组都是自己的元查询,因此您可以在元数据中创建一些不错的复合搜索。
请参阅下面https://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters中的示例。
$args = array(
'post_type' => 'product',
'meta_query' => array(
array(
'key' => 'color',
'value' => 'blue',
'compare' => 'NOT LIKE',
),
array(
'key' => 'price',
'value' => array( 20, 100 ),
'type' => 'numeric',
'compare' => 'BETWEEN',
),
),
);
$query = new WP_Query( $args );