我有此自定义查询:
query_posts(
array (
\'orderby\' => \'rr_recommends_count\',
\'meta_key\' => \'rr_recommends_count\',
\'order\' => \'DESC\',
)
);
这些帖子的顺序如下:
9、8、7、6、5、4、3、2、,11, 10, 1等等。
我发现问题是meta\\u value字段的类型longtext.
如何在不更改meta\\u值字段类型的情况下修复排序?
最合适的回答,由SO网友:Pieter Goosen 整理而成
首先,永远不要使用query_posts
. 它破坏了主函数以及依赖于主查询对象的所有插件和函数。对于自定义查询,请使用WP_Query
或get_posts
如果不希望对查询分页
对于以下行
\'orderby\' => \'rr_recommends_count\',
我可以告诉你
rr_recommends_count
是对的无效值
orderby
参数怀疑这实际上是键名,并且该键中的值都是数字,因此您可以使用
meta_value_num
对的值
orderby
有效值的参数
\'orderby\' => \'meta_value_num\',
请参见
Order and Orderby Parameters in WP_Query