当前位置:首页文章笔记建站教程WordPress如何基于最后发布文章的时间来排序作者用户列表

WordPress如何基于最后发布文章的时间来排序作者用户列表

WordPress 的 get_users 是获取用户列表的,我们可以获取所有角色是 author 的用户,但是这个排序却没有基于最新发布文章时间(get_users order by author last post date)来排序用户列表的。

我们可以通过以下函数来实现:

  1. function get_users_ordered_by_post_date($args = ) {
  2. // Prepare arguments
  3. if (is_string($args) && !== $args)
  4. parse_str($args, $args);
  5. $asc = (isset($args[‘order’]) && ‘ASC’ === strtoupper($args[‘order’]));
  6. unset($args[‘orderby’]);
  7. unset($args[‘order’]);
  8. // Get ALL users
  9. $users = get_users($args);
  10. $post_dates = array();
  11. if ($users) {
  12. // For EACH user …
  13. foreach ($users as $user) {
  14. $ID = $user->ID;
  15. // … get ALL posts (per default sorted by post_date), …
  16. $posts = get_posts(‘author=’.$ID);
  17. $post_dates[$ID] = ;
  18. // … then use only the first (= newest) post
  19. if ($posts) $post_dates[$ID] = $posts[0]->post_date;
  20. }
  21. }
  22. // Sort dates (according to order), …
  23. if (! $asc)
  24. arsort($post_dates);
  25. // … then set up user array
  26. $users = array();
  27. foreach ($post_dates as $key => $value) {
  28. // $user = get_userdata($key);
  29. // $users[] = $user->ID;
  30. $users[] = get_userdata($key);
  31. }
  32. return $users;
  33. }

将 get_users 替换为 get_users_ordered_by_post_date 即可,参数还是传入一个$args。

有一点需要注意的时,如果要分页获取作者列表,需对数组进行分页。

  1. $authors = get_users_ordered_by_post_date(
  2. array(
  3. ‘role__in’ => array( ‘author’ )
  4. )
  5. );
  6. if($authors){
  7. $perpage = 16;
  8. $pagess = ceil(count($authors) / $perpage);
  9. if (!get_query_var(‘paged’)) {
  10. $paged = 1;
  11. }else{
  12. $paged = $wpdb->escape(get_query_var(‘paged’));
  13. }
  14. $offset = $perpage*($paged1);
  15. $authors2 = array_slice($authors,($paged1)*$perpage,$perpage);
  16. if($authors2){
  17. foreach($authors2 as $author){
  18. }
  19. }
  20. }

有种排序有个问题就是当用户以及文章越来越多时,数据查询的时间会越来越长,也就是可能会卡。

温馨提示:

文章标题:WordPress如何基于最后发布文章的时间来排序作者用户列表

文章链接:https://www.wuyanshuo.cn/1304.html

更新时间:2022年09月12日

本站资源均为两层压缩,第一层7z(后缀若为wys,请自行修改为7z)有解压密码;第二层zip或cbz,无解压密码,可直接使用漫画类软件程序查看;详情可参考解压教程

本站大部分内容均收集于网络!若内容若侵犯到您的权益,请发送邮件至:service@wuyanshuo.cn我们将第一时间处理! 资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持。 所有资源仅限于参考和学习,版权归原作者所有,更多请阅读无言说网络服务协议

给TA打赏
共{{data.count}}人
人已打赏
建站教程

WordPress网站实现点击加载下一页文章列表

2022-9-12 17:02:10

建站教程

WordPress程序远程数据请求函数:wp_remote_post、wp_remote_get

2022-9-12 22:58:54

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
'