我正在尝试按字母顺序对WP中的帖子进行排序,但我没有得到我期望的结果。这就是我得到的:
NOZ - 1 apple
NOZ - 10 orange
NOZ - 11 banana
NOZ - 2 tree
NOZ - 3 grass
这是我想要的:
NOZ - 1 apple
NOZ - 2 tree
NOZ - 3 grass
NOZ - 10 orange
NOZ - 11 banana
这是我的PHP代码:
<?php $loop = new WP_Query( array('post_type' => 'myPosts', 'orderby' => 'title', 'order' => 'ASC', 'posts_per_page' => -1 ) ); ?>
非常感谢你的帮助。
答案 0 :(得分:2)
您可以在orderby字段中添加MySQL函数。例如:
'orderby' => 'CAST(SUBSTRING(title, 7) as unsigned)'
子字符串函数提取第7个字符后面的所有字符。
cast函数将提取的字符转换为无符号整数。演员功能从左到右工作。它会丢弃所有非数字字符。这里回答了类似的问题:SQL order string as number