您的浏览器需要启用 JavaScript 才能正常访问此网站。
萨龙网络
登录
首页-WordPress文章-WordPress-正文

WordPress按角色获取可分页的用户列表并显示最新文章

萨龙龙萨龙龙WordPress10年前001.40W
Wordpress按角色获取可分页的用户列表并显示最新文章最近开发了一款多功能的新闻视频类Wordpress主题Yewan,客户的网站用户也比较多,要求设计一个按权限(管理员、编辑、作者、投稿者、订阅者)来获取用户列表的页面,同时获取用户的一篇最新文章,获取用户列表信息可以使用get_users函数。 用户列表可以添加到模板页面中,也可以添加到小工具中,Yewan主题的作者墙页面就是链接到编辑、作者和投稿者三个页面,同时也添加了一个推荐作者小工具,萨龙网络所有开发的主题都可以通过主题选项直接选择要推荐的用户,所以推荐作者小工具是相当不错。 下面就直接贴出整个模板页面代码,代码中都有说明,要修改也比较简单(分页代码来自Wordpress大学,不过其中的分页链接出现404)。

WP用户列表模板页面代码

  1. <?php
  2. /*
  3. *Template Name: 用户列表
  4. */
  5. get_header(); ?>
  6. <!-- 主体内容 -->
  7. <section class="container">
  8.     <!--面包屑-->
  9.     <section class="wrapper">
  10.         <!-- 内容 -->
  11.         <section class="content-wrap">
  12.             <article class="entry user_list">
  13.                 <header class="post-head">
  14.                     <h2><?php the_title(); ?></h2>
  15.                 </header>
  16.                 <section class="user_content">
  17.                     <!-- 编辑 -->
  18.                     <ul>
  19.                         <?php
  20.                         $number = 2;//定义每页要显示的用户数量,添加一个 $number 的变量
  21.                         $paged=( get_query_var( 'paged')) ? get_query_var( 'paged') : 1;//查明当前页码数
  22.                         $offset=( $paged - 1) * $number;//计算应该在页面(偏移)被传递过来的用户数量,这将在第二页开始生效
  23.                         $users=get_users( 'orderby=post_count&order=DESC&role=editor');//获取网站的所有编辑,其它权限的用户将editor修改就可以(下行代码中也有editor);如果要获取所有用户,将role=editor删除(前后的&要注意删除);如果是多站点,可以添加:blog_id = 1,1为博客ID,就可以获取多站点中任意站点的用户
  24.                         $get_users=get_users( 'role=editor&offset='.$offset.'&number='.$number);//计算每页显示的信息,其中包括将要显示的用户数和偏移查询用户的总数
  25.                         $total_users=count($users);//使用 count() 这个PHP函数来获取用户总数
  26.                         $total_query=count($get_users);
  27.                         $total_pages=intval($total_users / $number) + 1;//计算应创建的总页数
  28.                         foreach ($get_users as $user) { ?>
  29.                         <li>
  30.                             <a href="<?php echo get_author_posts_url($user->ID);?>" title="<?php echo get_the_author_meta('display_name',$user->ID);?>" class="author_name">
  31.                                 <!--头像-->
  32.                                 <?php echo get_avatar($user->ID,100);?>
  33.                                 <!--名称-->
  34.                                 <?php echo get_the_author_meta('display_name',$user->ID);?>
  35.                             </a>
  36.                             <!--用户的最新文章-->
  37.                             <?php $args=array(
  38.                             'author'=> $user->ID,//用户ID
  39.                             'post_type' => array('post','video'),//可添加任意文章类型,获取最新的
  40.                             'post_status' => 'publish',//已发布的文章
  41.                             'posts_per_page' => 1,//显示的文章数量
  42.                             'caller_get_posts'=> 1 //让置顶文章变化普通文章
  43.                             );
  44.                             $my_query = null;
  45.                             $my_query = new WP_Query($args);
  46.                             if( $my_query->have_posts() ) {
  47.                                 while ($my_query->have_posts()) : $my_query->the_post(); ?>
  48.                             <a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>">
  49.                                 <?php the_title(); ?>
  50.                             </a>
  51.                             <?php endwhile; } wp_reset_query(); ?>
  52.                         </li>
  53.                         <?php } ?>
  54.                     </ul>
  55.                     <!--分页-->
  56.                     <?php if ($total_users> $total_query) {
  57.                     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>';}?>
  58.                 </section>
  59.             </article>
  60.         </section>
  61.         <!-- 内容end -->
  62.         <!-- 博客边栏 -->
  63.         <?php get_sidebar(); ?>
  64.         <!-- 博客边栏end -->
  65.     </section>
  66. </section>
  67. <!-- 主体内容end -->
  68. <?php get_footer(); ?>

作者列表CSS样式

  1. /*********作者列表*********/
  2. .user_list ul li{
  3.     display: block;
  4.     width: 100%;
  5.     border-bottom: 1px #eee solid;
  6.     padding: 20px 100px 20px 60px;
  7.     overflow: hidden;
  8.     position: relative;
  9. }
  10. .user_list img{
  11.     position: absolute;
  12.     top: 50%;
  13.     -webkit-transform: translateY(-50%);
  14.     -moz-transform: translateY(-50%);
  15.     -ms-transform: translateY(-50%);
  16.     -o-transform: translateY(-50%);
  17.     transform: translateY(-50%);
  18. }
  19. /*头像*/
  20. .user_list img{
  21.     width: 48px;
  22.     border-radius: 100%;
  23.     left: 0;
  24.     border: 1px #f4f4f4 solid;
  25.     padding: 4px;
  26.     background-color: #f8f8f8;
  27. }
  28. /*名称与文章*/
  29. .user_list ul li a{
  30.     display: block;
  31. }
  32. .user_list .author_name{
  33.     font-size: 17px;
  34. }
  35. .user_list .new_post{
  36.     font-size: 14px;
  37.     color: #999;
  38. }
  39. /*********作者列表end*********/

分页CSS样式

  1. /*****用户列表分页*****/
  2. .wp-pagenavi {
  3.     margin: 30px 0;
  4.     font-size: 13px;
  5.     text-align: center;
  6.     line-height: 24px;
  7.     width: 100%;
  8. }
  9. .wp-pagenavi > span,
  10. .wp-pagenavi > a {
  11.     margin: 4px 6px 4px 0;
  12.     padding: 4px 12px;
  13.     text-decoration: none;
  14.     background-color: #fff;
  15.     border: 1px #f4f4f4 solid;
  16.     color: #666;
  17.     display: inline-block;
  18. }
  19. .wp-pagenavi a:hover,
  20. .wp-pagenavi > .current{
  21.     background-color: #d11f3c;
  22.     color: #fff !important;
  23. }
  24. /*****用户列表分页end*****/
[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年从江西骑行来到大理,现栖居于洱海边,食人间烟火,过简单生活,做简约设计!
1422.46M457.22W4.42W
加载中…
分享:
WOW.js简单实现页面滚动动画效果
WOW.js简单实现页面滚动动画效果上一篇
Wordpress获取自定义文章类型分类下的文章并循环下一篇
Wordpress获取自定义文章类型分类下的文章并循环
相关文章
总数:115

WordPress 添加菜单项目描述

WordPress 能够在自定义菜单中存储每个菜单项的描述,默认情况下,这些描述不会显示在前端菜单中,需要为相应的菜单增加显示描述的功能。 一…
萨龙龙萨龙龙WordPress7年前001.55W0

WordPress 最简便的边栏调用方法与提示

WordPress 主题文章类型较多,想实现不同的文章类型页面调用不同的边栏,一般的方法是将代码写在主题根目录下的 sidebar.php 文件…
萨龙龙萨龙龙WordPress8年前001.27W0

WordPress 主题选项框架 Codestar Framework Pro 2.0专业版使用

萨龙网络在2018年9月份就写了一篇《WordPress 简约实用的主题选项框架 Codestar Framework》文章来介绍 Codest…
萨龙龙萨龙龙WordPress7年前003.11W0

禁用 WordPress 裁剪功能包括自动生成的 768 像素图片

WordPress 媒体库是很强大、管理媒体相当方便,如果媒体多就给数据库增加了压力,而且很多媒体是不需要上传到媒体库,上传的图片会增加很多无用…
萨龙龙萨龙龙WordPress8年前001.43W0

WooCommerce商城首页获取自定义字段

WooCommerce商城首页默认被插件转换成归档页面archive-product.php,但是添加的依然是页面,所以通过get_post_m…
萨龙龙萨龙龙WooCommerce9年前001.38W0

WordPress自定义文章类型支持古腾堡编辑器(Gutenberg)

Gutenberg,WordPress 最新的编辑器,每个模块都是一个 blocks 的形式。默认的编辑文章页面是支持 Gutenberg 编辑…
萨龙龙萨龙龙WordPress7年前001.52W0

修改Buddypress中管理员的显示名与用户名区别开提高账户安全

Buddypress社区中有很多地方会直接显示用户登录名,比如用户个人主题中的名称和链接中,所有来访的用户都知道了管理员的用户名,对于小人知道了…
萨龙龙萨龙龙Buddypress, WordPress11年前001.76W0

WordPress获取不同用户、类型文章和自定义字段下的文章数量

萨龙网络开发的 MNews 主题中,集成了个人中心功能,需要获取文章、视频、下载、专题和商城的文章数量,这个是比较简单,使用wp_count_p…
萨龙龙萨龙龙WordPress8年前001.19W0

WordPress MU多站点网络域名绑定插件Domain Mapping的安装与使用

Wordpress MU是多站点的程序,新创建的站点地址都是基于主域名下的二级域名,而强大的Wordpress可以为每个站点绑定不同的域名,这时…
萨龙龙萨龙龙WordPress11年前002.37W0

龙霄主题加盟推广:前端追踪归因、多语言支持,从流量到收益的全链路闭环

前言在数字化商业生态中,联盟营销(Affiliate Marketing)已成为品牌方拓展销售渠道、降低获客成本的核心手段。一套完整的加…
萨龙龙萨龙龙Nuxt.js, Vue.js, WordPress2个月前001.08K0

WordPress + 宝塔面板速度优化方案 Memcached + Redis

WordPress 网站的速度应该上每个站长必须关注的一个问题,对于刚使用 WordPress 的朋友,优化网站速度是比较困难的事情,找不到好的…
萨龙龙萨龙龙WordPress, 建站技术6年前002.47W0

AMH面板安装配置Memcached加速WordPress站点

前面写过AMH面板安装配置redis加速WordPress站点一文,来介绍redis的安装与配置,对于WordPress站点的加速效果是相当的明…
萨龙龙萨龙龙WordPress, 软件系统10年前001.50W0
评论表单游客 您好,欢迎参与讨论。
加载中…
评论列表
总数:0
萨龙网络
没有相关内容