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+Nuxt3做前后端分离项目时,菜单需要多维数组,且不限层级,可以使用递归函数很方便地将wp_get_nav_menu…描述
您不需要序列化值。如果需要序列化值,则在将其插入数据库之前将其序列化。请记住,资源不能序列化或作为选项添加。
…默认情况下,WordPress允许用户通过后台管理面板编辑主题和插件代码。虽然它是一个方便的功能,但对于主题或插件作者没有任何用途,最重要可以防…WooCommerce在每个页面上加载三个核心CSS样式表,并在WordPress站点上安装时发布。可以通过从不需要它的页面和内容中删除样式和…Buddypress社区中有很多地方会直接显示用户登录名,比如用户个人主题中的名称和链接中,所有来访的用户都知道了管理员的用户名,对于小人知道了…WooCommerce插件默认为编辑产品页面提供了产品数据TABS,默认包括:常规、库存、配送、联锁产品、属性、高级等模块,功能强大而实用。…一直都想设计一个有滚动视差效果的主题,而网上所有的介绍和有视差效果的主题都是使用jQuery来实现,而且由于视差背景图是一张满屏的大小,所以一直…Sixianqiu主题是专为诗歌设计开发的主题,有一些朋友也需要这样的多形式博客主题,就整理出来了。一开始所有的文章内容都是居中显示,这样对于其…萨龙网络开发的MNews主题中,集成了个人中心功能,需要获取文章、视频、下载、专题和商城的文章数量,这个是比较简单,使用wp_count_p…描述
向指定的表添加索引。
用法
add_clean_index(string$table,st…上一篇文章我们介绍了Isotope,功能强大,效果出众的jQuery插件,但是文章中的代码并不能使用在项目中,所以今天通过Wordpress主题…WordpressMU是多站点的程序,新创建的站点地址都是基于主域名下的二级域名,而强大的Wordpress可以为每个站点绑定不同的域名,这时…