欢迎光临
我们一直在努力

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

建站超值云服务器,限时71元/月

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

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

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

<?php /* Template Name: User List */ ?>

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

1
<?php the_content(); ?>

<?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>';
?>

<?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=”‘,%20$author_profile_url,%20′”>’, $avatar , ‘</a></div>’; echo ‘<div class=”author-name”><a href=”‘,%20$author_profile_url,%20′” class=”contributor-link”>’, $display_name, ‘</a></div>’; echo ‘</li>’; } echo ‘</ul>’; ?>

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

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

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

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » WordPress主题制作:添加一个用户列表页面模板(含用户头像)
分享到: 更多 (0)