即使使用元查询,Orderby查询也不适用于自定义字段

时间:2017-06-19 作者:Shravan

我编写了以下查询来获取列表,并希望按升序显示名称列表。

我刚才想通过meta_keymeta_value 作为参数,但它不能正确地进行排序。

尝试之后meta_query 我仍然被同样的问题困扰着。

$connected = new WP_Query(
    array(
        \'connected_type\'    => \'posts_to_pages\',
        \'connected_items\'   => get_queried_object(),
        \'nopaging\'          => true,
        \'post_type\'         => \'attorney\',
        \'attorney_category\' => \'partner\',
        \'post_status\'       => \'publish\',
        \'posts_per_page\'    => - 1,
        \'caller_get_posts\'  => 1,
        \'orderby\'           => \'order_clause\',
        \'order\'             => \'ASC\',
        \'meta_query\'        => array(
            \'order_clause\' => array(
                \'key\' => \'Last name\',
            )
        )
    )
);
以下是我在打印查询结果时遇到的错误:

Screenshot of the error

1 个回复
SO网友:Bassscape

我不相信order_clause 是可接受的orderby parameter. 根据文档,您需要添加meta_key 如果愿意,请访问您的查询orderby A.meta_value.

我已经修改了您的查询,以显示无论自定义字段值如何,都存在自定义字段键“姓氏”的律师帖子。orderby 设置为meta_value 指的是meta_key 已设置为姓氏。

$connected = new WP_Query(
  array(
    \'connected_type\' => \'posts_to_pages\',
    \'connected_items\' => get_queried_object(),
    \'nopaging\' => true,
    \'post_type\' => \'attorney\',
    \'attorney_category\'=> \'partner\',
    \'post_status\' => \'publish\',
    \'posts_per_page\' => -1,
    \'caller_get_posts\'=> 1,
    \'meta_key\'  => \'Last name\',
    \'orderby\' => \'meta_value title\',
    \'order\' => \'ASC\',
  )
);
假设您的自定义字段实际上被称为姓氏,那么这个查询应该可以工作。

你可以再加一个orderby 参数,例如title 作为后备方案:

\'orderby\' => \'meta_value title\'

结束

相关推荐

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

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