【发布时间】:2021-02-10 02:25:02
【问题描述】:
我有一个自定义的员工帖子类型,它使用帖子标题作为人名。为了按姓氏排序,我使用顺序过滤器来查找标题中的最后一个单词,然后按它排序:
function posts_orderby_lastname ($orderby_statement)
{
$orderby_statement = "RIGHT(post_title, LOCATE(' ', REVERSE(post_title)) - 1) ASC";
return $orderby_statement;
}
这对于大多数名字和姓氏都正常的员工来说非常有用,但我不知道如何对像这样的名字执行此操作(所有这些都应按“条款”排序:
圣诞老人
圣诞老人 III
小圣诞老人
圣诞老人克林格尔
M.圣诞老人老
我假设我可以有一个存储数组,然后检查这些术语(如“Jr.”、“II”等)或检查找到的术语的长度是否大于 3,但我没有想法如何在代码中实现它。任何想法或帮助将不胜感激 - 在此先感谢!
【问题讨论】:
标签: mysql wordpress filter sql-order-by