我最近需要在 WordPress 博客中显示作者列表。目标是在输出列表之前按帖子数对作者列表进行排序。计算帖子数量的方法不是 WordPress 的 get_posts
中的可排序键,因此我必须自己对结果列表进行排序。 PHP 的 usort
方法以及自定义函数可让您完成按键对对象集合进行排序的壮举。
PHP
第一步是创建进行排序的函数——这就是那个函数:
function sort_objects_by_total($a, $b) { if($a->total_posts == $b->total_posts){ return 0 ; } return ($a->total_posts < $b->total_posts) ? -1 : 1; }
该函数在进行排序比较时返回 -1(小于)、0(等于)或 1(大于)。最后是对数组应用排序函数,这是由 usort 完成的:
usort($users, 'sort_objects_by_total');
上面的代码现在确保我的 authors 数组按 total_posts 排序。将此代码段保留在您的 PHP 工具箱中以备将来之用——我相信您有时会需要它。