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的菜单都是通过后台菜单来添加设置,很多时候需要添加一些功能到菜单,比如搜索,或者购物车,这时我们就可以使用wp_nav_men…描述
此函数具有一个功能,该功能将用于确定菜单中是否包含页面。
连接到处理页面输出的函数也必须检查用户是否具有所需的…为所有交易添加基于百分比的附加费
/**
*添加1%的附加费到你的购物车和结算页面
*更改百分比以将附加费设置为适合的…最近在做一款企业产品展示的商城网站,设计WooCommerce产品文章的布局与默认的布局有很大的不同,所以其中的一些模块都需要重新调整。WooC…WordpressMU多站点已经使用很久,在本地测试和主机上安装的都是多站点,极大的方便网站搭建以及主题开发。当我们有多个站点,需要创建的新站…萨龙网络所有主题都集成了很多优化功能,在WordPress更新至5.0版本后,古腾堡(Gutenberg)编辑器发布与更新文章/页面就出现错…WordPressMU虽然是一个程序下可以创建多个站点,但每个站点下的文章、页面、媒体等还是独立的,MU也为不同的站点分配了不同的媒体目录。N…WooCommerce商城首页默认被插件转换成归档页面archive-product.php,但是添加的依然是页面,所以通过get_post_m…默认情况下,WordPress允许用户通过后台管理面板编辑主题和插件代码。虽然它是一个方便的功能,但对于主题或插件作者没有任何用途,最重要可以防…Wordpress获取分类文章的函数有query_posts和WP_Query,两个函数的功能都很强大,推荐使用WP_Query函数来查询文章。…萨龙网络已经开发了很多WordPress主题,LensNews主题要创建的页面较多,所以导致很多用户来咨询如何设置用户中心,在最新上线的…前段时间已经发布Purity2.0主题更新的文章,主题已经集成了作品展示、商城,通过半个来月的时间把Buddypress+Bbpress社区论坛…