按多个自定义元值进行筛选和排序

时间:2014-12-16 作者:Durhammer

我试图查询自定义帖子类型,按自定义元值排序,并仅显示具有不同自定义元值的帖子。

我能够独立完成每一项工作,但不能同时完成这两项工作。

这是当前代码。

$args = array(
    \'posts_per_page\' => -1,
    \'post_type\' => \'shows\',
    \'orderby\' => \'meta_value_num\',
    \'meta_key\' => \'start_date\',
    \'order\' => \'ASC\',
    \'meta_query\' => array(
            array(
            \'meta_key\' => \'show_location\',
            \'meta_value\' => \'second\'
            )
    )
);                  
// get results
$the_query = new WP_Query( $args );
我的NEW 根据以下答案进行编码:

$args = array(
    \'posts_per_page\' => -1,
    \'post_type\' => \'shows\',
    \'orderby\' => \'meta_value_num\',
    \'meta_key\' => \'start_date\',
    \'order\' => \'ASC\',
    \'meta_query\' => array(
            array(
            \'key\' => \'show_location\',
            \'value\' => \'second\'
            )
    )
);

1 个回复
最合适的回答,由SO网友:Karun 整理而成

对于多个元值,必须使用“IN”

$args = array(
    \'posts_per_page\' => -1,
    \'post_type\' => \'shows\',
    \'orderby\' => \'meta_value_num\',
    \'meta_key\' => \'start_date\',
    \'order\' => \'ASC\',
    \'meta_query\' => array(
            array(
            \'key\' => \'show_location\',
            \'value\' => array(\'second\',\'third\'),
            \'compare\' => \'IN\'
            )
    )
);                  
// get results
$the_query = new WP_Query( $args );
IN-comparison检查post是否与“meta\\u value”数组中存在的值一起可用。

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post