高级自定义字段按Meta键值排序

时间:2017-01-23 18:21:04

标签: php wordpress get advanced-custom-fields posts

我有一个简单的Wordpress查询,列出了我的自定义帖子类型结果。

目前,他们按照创建帖子的日期顺序列出。

我需要它们按照我从最近到最旧命名的自定义字段的顺序列出

我无法将第二个查询合并到我的搜索结果中。

如何确保所有帖子按release_year排序?

非常感谢。

$landscape-min-height: 200px;
$tablet-portrait-height: 1024px;
$tablet-portrait-width: 768px;

1 个答案:

答案 0 :(得分:5)

您需要按release_year订购,但是您要将release_category指定为元键,因此无法知道您是否想要使用其他密钥。

您面临的主要问题是您不能拥有两个meta_key args。相反,您需要使用meta_query参数。

$posts = get_posts(array(
   'post_type'           => 'discography',
   'posts_per_page'      => -1,
   'meta_key'            => 'release_year',
   'orderby'             => 'meta_value_num',
   'order'               => 'DESC',
   'meta_query'          => array(
        array(
            'key'   => 'release_category',
            'value' => 'album',
        ),
    ),
));   

元查询用于设置发布类别,meta_key值已更改为您要订购的密钥。我还设置了meta_value_num的顺序,这在处理数值时很重要。最后,您需要使用降序。

进一步阅读:https://codex.wordpress.org/Class_Reference/WP_Meta_Query

https://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters