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