我正在尝试按字母顺序对 WP 中的帖子进行排序,但没有得到我期望的结果。这就是我得到的:
NOZ - 1 apple
NOZ - 10 orange
NOZ - 11 banana
NOZ - 2 tree
NOZ - 3 grass
Run Code Online (Sandbox Code Playgroud)
这就是我想得到的:
NOZ - 1 apple
NOZ - 2 tree
NOZ - 3 grass
NOZ - 10 orange
NOZ - 11 banana
Run Code Online (Sandbox Code Playgroud)
这是我的 PHP 代码:
<?php $loop = new WP_Query( array('post_type' => 'myPosts', 'orderby' => 'title', 'order' => 'ASC', 'posts_per_page' => -1 ) ); ?>
Run Code Online (Sandbox Code Playgroud)
非常感谢你的帮助。
您可以将 MySQL 函数添加到 orderby 字段。例如:
'orderby' => 'CAST(SUBSTRING(title, 7) as unsigned)'
Run Code Online (Sandbox Code Playgroud)
substring 函数提取第 7 位字符之后并包括第 7 位字符的所有字符。
cast 函数将提取的字符转换为无符号整数。cast 函数从左到右工作。它丢弃所有非数字字符。这里回答了一个类似的问题:SQL order string as number
| 归档时间: |
|
| 查看次数: |
1453 次 |
| 最近记录: |