我最近需要在 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 total_posts) ? -1 : 1;
}
该函数在进行排序比较时返回 -1(小于)、0(等于)或 1(大于)。 最后是对数组应用排序函数,由 usort 完成:
usort($users, 'sort_objects_by_total');
上面的代码现在确保我的作者数组按 total_posts 排序。 将此片段保存在您的 PHP 工具箱中以备将来使用——我敢肯定您有时会需要它。