性价比最高的香港ASP、PHP主机提供商
做网站,就上凡科建站

WordPress主题制作:添加一个用户列表页面模板(含用户头像)

Loading
0
Comodo SLL证书促销 - 免费ssl证书申请_ssl证书购买_ev ssl证书_https证书购买 - GDCA_数安时代

如果你的WordPress站点是开放注册的,拥有众多作者和注册用户,你可能需要将他们罗列出来,下面倡萌就简单介绍下如何制作一个WordPress用户列表页面模板(含用户头像)。

1.在主题根目录新建一个名为 page-user-list.php 的文件,然后复制你主题的 page.php 的代码到 page-user-list.php ,并且在最上方添加:

1
2
3
4
5
<?php
/*
Template Name: User List
*/
?>

2.在 page-user-list.php 找到

1
<?php the_content(); ?>

在其下方添加下面的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
     $display_admins = false; //是否显示管理员,ture - 显示,false -不显示
     $order_by = 'post_count'; // 排序依据,可选 'nicename', 'email', 'url', 'registered', 'display_name', 或 'post_count'
     $order = 'DESC'; //排列方式,ASC - 升序,DESC - 降序
     $role = ''; // 用户角色,可选 'subscriber', 'contributor', 'editor', 'author' - 留空显示全部 'all'
     $avatar_size = 161; //头像大小
     $hide_empty = false; // 是否隐藏没有文章的用户,ture - 显示,false -不显示
 
     if(!empty($display_admins)) {
          $blogusers = get_users('orderby='.$order_by.'&role='.$role);
     } else {
 
     $admins = get_users('role=administrator');
     $exclude = array();
 
     foreach($admins as $ad) {
          $exclude[] = $ad->ID;
     }
 
     $exclude = implode(',', $exclude);
     $blogusers = get_users('exclude='.$exclude.'&orderby='.$order_by.'&order='.$order.'&role='.$role);
     }
 
     $authors = array();
     foreach ($blogusers as $bloguser) {
     $user = get_userdata($bloguser->ID);
 
     if(!empty($hide_empty)) {
          $numposts = count_user_posts($user->ID);
          if($numposts < 1) continue;
          }
          $authors[] = (array) $user;
     }
 
     echo '<ul id="grid-contributors">';
     foreach($authors as $author) {
          $display_name = $author['data']->display_name;
          $avatar = get_avatar($author['ID'], $avatar_size);
          $author_profile_url = get_author_posts_url($author['ID']);
 
          echo '<li class="single-item">';
          echo '<div class="author-gravatar"><a href="', $author_profile_url, '">', $avatar , '</a></div>';
          echo '<div class="author-name"><a href="', $author_profile_url, '" class="contributor-link">', $display_name, '</a></div>';
          echo '</li>';
          }
     echo '</ul>';
?>

请根据自己的实际需要,修改 2-7 行代码。

3.保存 page-user-list.php ,然后在后台 > 页面 > 新建页面,在“页面属性”的“模板”中选择“User List”模板,保存页面即可。

注:具体的前端样式就靠大家自己折腾CSS代码了。

参考资料:http://wp-snippet.com/snippets/author-list-with-avatar-thumbnail/

支付宝扫码打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者

MetInfo | 最适合企业网站建设的cms系统

关于 倡萌

一个疯狂的 WordPress 爱好者,喜欢折腾 WordPress 主题,分享 WordPress 资源。如果你也喜欢 WordPress,欢迎和我一起交流!

精彩推荐

掌握 WP_User_Query

掌握 WP_User_Query

介绍50个 WordPress 动作挂钩(11-20)

介绍50个 WordPress 动作挂钩(11-20)

28 条评论

  1. 请教校长,有没有办法不显示某些用户信息,举例:当以“作者”的用户名登陆后台,用户列表中不显示“管理员”和“编辑”的账户信息?

  2. 如果能够分页就好了

  3. 这个好!正巧能用上,顺便说一下,上下两个喜欢的心如果都点击了,页面会混乱,我用的是chrome浏览器。

发表评论