按元关键字查询和按另一个元关键字值排序

时间:2020-09-10 作者:NotaGuruAtAll

我有一个如下查询:

$orders = get_posts( array(
    \'numberofposts\'     => -1,
    \'posts_per_page\'    => -1,
    \'post_type\'         => \'executive-orders\',
    \'meta_key\'          => \'eo_type\',
    \'meta_value\'        => \'county\',
    \'orderby\'           => \'date\',
    \'order\'             => \'DESC\',
));
我想按另一个元键值排序。我知道您可以这样做:

\'orderby\' => \'meta_value_num\',
但这两者都能做到吗?

1 个回复
SO网友:Howdy_McGee

您可以使用meta_query. 这个get_posts() 函数接受WP\\u Query接受的所有内容,因此它可以如下所示:

$orders = get_posts( array(
    \'numberofposts\'     => -1,
    \'posts_per_page\'    => -1,
    \'post_type\'         => \'executive-orders\',
    \'orderby\'           => \'date\',
    \'order\'             => \'DESC\',
    \'meta_query\'    => array(
        \'relation\' => \'AND\',
        \'eo_type\' => array(
            \'key\'       => \'eo_type\',
            \'value\' => \'county\',
        ),
        \'second_type\' => array(
            \'key\'   => \'second_key\',
            \'type\'  => \'NUMERIC\',
        ),
    ),
    \'orderby\' => array( \'eo_type\' => \'DESC\', \'date\' => \'ASC\' ),
) );
通过元查询,我们可以像使用meta_keymeta_value. 我们给他们一个命名索引eo_type 以便我们可以在orderby 参数我们可以根据需要添加任意多的元值,甚至可以进一步嵌套。

相关推荐

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

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