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年从江西骑行来到大理,现栖居于洱海边,食人间烟火,过简单生活,做简约设计!WooCommerce产品页面默认有3个选项卡:描述,其它信息和评论,对于很多WordPress主题或许不太适合,需要修改或者添加选项卡。…用法
absint(mixed$maybeint)
将值转换为非负整数。
参数
$maybeint
(mixed)(必需)您希望…WordPress自定义的强大不言而喻,很多主题都在使用,也为其创建了可视化的选项面板,用户使用都相当的直观、方便。萨龙网络新开发的LensNe…WooCommerce是WordPress中最强大的商城插件,没有之一。在Slearn主题的开发过程中,需要将课程和商城结合,课程使用…可以在模板文件中使用WooCommerce和WordPress的条件式标签,以根据匹配页面的条件来显示的特定内容。例如,您可能想要在商店页面上方…一直都想设计一个有滚动视差效果的主题,而网上所有的介绍和有视差效果的主题都是使用jQuery来实现,而且由于视差背景图是一张满屏的大小,所以一直…萨龙网络已经开发了很多WordPress主题,LensNews主题要创建的页面较多,所以导致很多用户来咨询如何设置用户中心,在最新上线的…开发一个WP主题有了前端页面设计的美观与布局外,后台选项也是相当重要的一个组成部分,好的后台框架在使用主题时方便快捷的设置各个功能,也让主题开发…Buddypress社区中有很多地方会直接显示用户登录名,比如用户个人主题中的名称和链接中,所有来访的用户都知道了管理员的用户名,对于小人知道了…默认情况下,WordPress会将图像元素width和height属性添加到图像元素中。这些属性会影响CSS宽度和高度属性,图片延迟加载时默认图…描述
WordPress核心执行期间,在特定点执行时或特定事件发生时,Actions是钩子。插件可以指定使用ActionAPI在…在开发吃货主题Chihuo时,要对产品和文章进行筛选,在一级分类下显示所有一级分类和当前一级分类下的所有二级分类,在二级分类下,显示所有一级分类…