按元值选择自定义帖子并按不同的元值排序

时间:2012-12-13 作者:Will

我的查询设置如下:

$article_query = new WP_Query(array( 
             \'meta_key\' => \'issue\', 
             \'meta_value\' => $post->ID , 
             \'post_type\' => \'article\',
             \'orderby\' => \'order_number\', 
             \'order\' => \'desc\'
              ));       
我要一期的所有文章,按自定义字段“order\\u number”排序

实际上,该顺序被忽略。我已经读到,我需要将meta\\u key设置为“order\\u number”,以启用按该键排序,但这也会按该键过滤,导致没有结果。

那么,如何按order\\u编号排序?

2 个回复
SO网友:swtshweta

前面已经讨论过相同的问题(供参考:Filter by one custom field, order by another? ). 希望这能解决你的问题。

SO网友:Biranit Goren

您的代码应该是这样的:

$args = array(
            \'meta_query\' => array(
                array(
                    \'key\' => \'issue\',
                    \'value\' => $post->ID ,
                ),
            ),
            \'post_type\' => \'article\',
            \'orderby\' => \'meta_value_num\',
            \'meta_key\' => \'order_number\',
            \'order\' => \'DESC\'
        );
$article_query = new WP_Query( $args );
备注:

元查询必须是一个数组,按post Meta排序需要orderby定义为Meta\\u value(如果值是字符串)或Meta\\u value\\u num(如果值是数字)

结束

相关推荐

Sort Posts Best Practice

我有一个自定义的帖子类型“属性”。这些属性帖子列在“Let属性”页面上。每个属性帖子都有各种自定义元数据,包括价格和卧室数量。属性最初将按原始wp查询集定义的顺序列出。然而,在页面顶部,我希望有链接,点击后将按价格、添加日期和卧室数量对帖子进行排序。这样做的最佳实践是什么?我见过有人建议将查询字符串添加到URL等,但希望得到一些可靠的建议提前感谢您的帮助约翰