如果你的WordPress站点是开放注册的,拥有众多作者和注册用户,你可能需要将他们罗列出来,下面倡萌就简单介绍下如何制作一个WordPress用户列表页面模板(含用户头像)。
1.在主题根目录新建一个名为 page-user-list.php 的文件,然后复制你主题的 page.php 的代码到 page-user-list.php ,并且在最上方添加:
<?php
/*
Template Name: User List
*/
?>
2.在 page-user-list.php 找到
<?php the_content(); ?>
在其下方添加下面的代码:
<?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/
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
请教校长,有没有办法不显示某些用户信息,举例:当以“作者”的用户名登陆后台,用户列表中不显示“管理员”和“编辑”的账户信息?
如果能够分页就好了
这个好!正巧能用上,顺便说一下,上下两个喜欢的心如果都点击了,页面会混乱,我用的是chrome浏览器。
主题就是在 chrome 下开发的,而且收藏功能是ajax免刷新的,不存在你说的问题啊,也没有其他用户反馈
一定要上下两个心都点了,不是多说的“喜欢”,而是会计数的心,你上下都放了,点了上面下面不会及时刷新,再点击下面的心内容就乱了。
还真是有这个问题,很奇葩。话说谁会这样无聊点来点去呢
不过刷新一下就恢复正常了,也不是什么大问题。