WordPress按角色获取可分页的用户列表并显示最新文章
最近开发了一款多功能的新闻视频类Wordpress主题Yewan,客户的网站用户也比较多,要求设计一个按权限(管理员、编辑、作者、投稿者、订阅者)来获取用户列表的页面,同时获取用户的一篇最新文章,获取用户列表信息可以使用get_users函数。
用户列表可以添加到模板页面中,也可以添加到小工具中,Yewan主题的作者墙页面就是链接到编辑、作者和投稿者三个页面,同时也添加了一个推荐作者小工具,萨龙网络所有开发的主题都可以通过主题选项直接选择要推荐的用户,所以推荐作者小工具是相当不错。
下面就直接贴出整个模板页面代码,代码中都有说明,要修改也比较简单(分页代码来自Wordpress大学,不过其中的分页链接出现404)。
WP用户列表模板页面代码
- <?php
- get_header(); ?>
- <!-- 主体内容 -->
- <section class="container">
- <!--面包屑-->
- <section class="wrapper">
- <!-- 内容 -->
- <section class="content-wrap">
- <article class="entry user_list">
- <header class="post-head">
- <h2><?php the_title(); ?></h2>
- </header>
- <section class="user_content">
- <!-- 编辑 -->
- <ul>
- <?php
- $number = 2;
- $paged=( get_query_var( 'paged')) ? get_query_var( 'paged') : 1;
- $offset=( $paged - 1) * $number;
- $users=get_users( 'orderby=post_count&order=DESC&role=editor');
- $get_users=get_users( 'role=editor&offset='.$offset.'&number='.$number);
- $total_users=count($users);
- $total_query=count($get_users);
- $total_pages=intval($total_users / $number) + 1;
- foreach ($get_users as $user) { ?>
- <li>
- <a href="<?php echo get_author_posts_url($user->ID);?>" title="<?php echo get_the_author_meta('display_name',$user->ID);?>" class="author_name">
- <!--头像-->
- <?php echo get_avatar($user->ID,100);?>
- <!--名称-->
- <?php echo get_the_author_meta('display_name',$user->ID);?>
- </a>
- <!--用户的最新文章-->
- <?php $args=array(
- 'author'=> $user->ID,
- 'post_type' => array('post','video'),
- 'post_status' => 'publish',
- 'posts_per_page' => 1,
- 'caller_get_posts'=> 1
- );
- $my_query = null;
- $my_query = new WP_Query($args);
- if( $my_query->have_posts() ) {
- while ($my_query->have_posts()) : $my_query->the_post(); ?>
- <a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>">
- <?php the_title(); ?>
- </a>
- <?php endwhile; } wp_reset_query(); ?>
- </li>
- <?php } ?>
- </ul>
- <!--分页-->
- <?php if ($total_users> $total_query) {
- echo '<div class="wp-pagenavi">';$current_page = max(1, get_query_var('paged'));echo paginate_links(array('base' => get_pagenum_link(1) . '%_%','format' => '/page/%#%/','current' => $current_page,'total' => $total_pages));echo '</div>';}?>
- </section>
- </article>
- </section>
- <!-- 内容end -->
- <!-- 博客边栏 -->
- <?php get_sidebar(); ?>
- <!-- 博客边栏end -->
- </section>
- </section>
- <!-- 主体内容end -->
- <?php get_footer(); ?>
作者列表CSS样式
- .user_list ul li{
- display: block;
- width: 100%;
- border-bottom: 1px #eee solid;
- padding: 20px 100px 20px 60px;
- overflow: hidden;
- position: relative;
- }
- .user_list img{
- position: absolute;
- top: 50%;
- -webkit-transform: translateY(-50%);
- -moz-transform: translateY(-50%);
- -ms-transform: translateY(-50%);
- -o-transform: translateY(-50%);
- transform: translateY(-50%);
- }
- .user_list img{
- width: 48px;
- border-radius: 100%;
- left: 0;
- border: 1px #f4f4f4 solid;
- padding: 4px;
- background-color: #f8f8f8;
- }
- .user_list ul li a{
- display: block;
- }
- .user_list .author_name{
- font-size: 17px;
- }
- .user_list .new_post{
- font-size: 14px;
- color: #999;
- }
分页CSS样式
- .wp-pagenavi {
- margin: 30px 0;
- font-size: 13px;
- text-align: center;
- line-height: 24px;
- width: 100%;
- }
- .wp-pagenavi > span,
- .wp-pagenavi > a {
- margin: 4px 6px 4px 0;
- padding: 4px 12px;
- text-decoration: none;
- background-color: #fff;
- border: 1px #f4f4f4 solid;
- color: #666;
- display: inline-block;
- }
- .wp-pagenavi a:hover,
- .wp-pagenavi > .current{
- background-color: #d11f3c;
- color: #fff !important;
- }
[infobox]查看效果请访问Yewan主题演示站,野玩儿官网的用户列表是获取多个角色的。[/infobox][scbutton link="http://yewan.salongweb.com/users" target="blank" variation="red"]Yewan主题演示用户列表[/scbutton][scbutton link="http://www.yeoner.com/author" target="blank" variation="blue"]野玩儿官网用户列表[/scbutton]本文原创,作者:萨龙龙,其版权均为萨龙网络所有。
如需转载,请注明出处:https://salongweb.com/wordpress-role-users-pagination.html
一个平平常常的人,热爱生活、旅行和摄影,骑行去过西藏,一直计划再去。14年从江西骑行来到大理,现栖居于洱海边,食人间烟火,过简单生活,做简约设计!WordPress自定义的强大不言而喻,很多主题都在使用,也为其创建了可视化的选项面板,用户使用都相当的直观、方便。萨龙网络新开发的LensNe…Buddypress社区中有很多地方会直接显示用户登录名,比如用户个人主题中的名称和链接中,所有来访的用户都知道了管理员的用户名,对于小人知道了…新闻视频类Yewan主题的首页文章布局是不规则,文章的布局多样化,这是如何实现的?其实是很简单的,我们在循环中进行判断,每一篇文章都可以输出不同…在Wordpress主题开发的过程中,尤其是CMS主题分类的布局,通过后台选项(萨龙龙使用的都是Redux开源框架)选择分类,前台通过调用分类的…强大、实用的Redux框架我们已经在WordPress强大的开源后台框架ReduxFramework介绍与使用一文中介绍了,今天我们介绍下如何…WooCommerce后台对管理员的通知『连接您的店铺到WooCommerce.com接受扩展更新和支持』,是3.3.1版本后出来了,新的…WordPress一键重置缩略图使用相当简单方便,设置了媒体中要裁剪的缩略图参数(使用了WooCommerce商城插件,需要在外观——自定…WordPress网站的速度应该上每个站长必须关注的一个问题,对于刚使用WordPress的朋友,优化网站速度是比较困难的事情,找不到好的…萨龙网络所有主题都集成了很多优化功能,在WordPress更新至5.0版本后,古腾堡(Gutenberg)编辑器发布与更新文章/页面就出现错…网上已经有很多介绍WordPress多语言的插件了,比如Polylang和WPML等强大的多语言插件,但是只是介绍,很快都是能掌握怎…默认情况下WordPress是不允许重复的评论提交,主要是为了防止垃圾评论。有些情况下又需要重复评论,最近用户需要在MNewsPro主题上定制…萨龙网络已经开发了很多WordPress主题,LensNews主题要创建的页面较多,所以导致很多用户来咨询如何设置用户中心,在最新上线的…