1

所以,我有一个名为“postorder”的自定义字段类型。我在模板页面(见下文)中添加了一些 php 来调用每个帖子的“postorder”,并按降序对它们进行排序。我遇到的问题是 Wordpress 将 10 放在 1 之后。所以,我的帖子的顺序是 1、10、2、3、4、5、6、7、8、9。我希望 10 出现在 9 之后,或者找到不同的值来订购我的帖子。

query_posts('showposts=1000&meta_key=postorder&orderby=meta_value&ASC&post_type='.portfolio);
4

1 回答 1

2

WordPress 将值作为字符串进行排序,所以10在之后1,只需更改以下内容

orderby=meta_value

to(值将被视为数字)

orderby=meta_value_num

按数字排序时,使用meta_value_num而不是meta_value使WordPress将值视为数字而不是字符串。

于 2013-08-29T21:32:09.387 回答