按自定义字段编号对帖子排序

时间:2016-11-05 21:52:47

标签: wordpress

我正在使用此查询做一些帖子。

            $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”有值时我才能发帖。如果没有值,则帖子不会显示。

任何想法我该如何开始?

1 个答案:

答案 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 );