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

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

萨龙龙萨龙龙WordPress10年前001.35W
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.     displayblock;
  4.     width: 100%;
  5.     border-bottom1px #eee solid;
  6.     padding20px 100px 20px 60px;
  7.     overflowhidden;
  8.     positionrelative;
  9. }
  10. .user_list img{
  11.     positionabsolute;
  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.     width48px;
  22.     border-radius: 100%;
  23.     left: 0;
  24.     border1px #f4f4f4 solid;
  25.     padding4px;
  26.     background-color#f8f8f8;
  27. }
  28. /*名称与文章*/
  29. .user_list ul li a{
  30.     displayblock;
  31. }
  32. .user_list .author_name{
  33.     font-size17px;
  34. }
  35. .user_list .new_post{
  36.     font-size14px;
  37.     color#999;
  38. }
  39. /*********作者列表end*********/

分页CSS样式

  1. /*****用户列表分页*****/
  2. .wp-pagenavi {
  3.     margin30px 0;
  4.     font-size13px;
  5.     text-aligncenter;
  6.     line-height24px;
  7.     width: 100%;
  8. }
  9. .wp-pagenavi > span,
  10. .wp-pagenavi > a {
  11.     margin4px 6px 4px 0;
  12.     padding4px 12px;
  13.     text-decorationnone;
  14.     background-color#fff;
  15.     border1px #f4f4f4 solid;
  16.     color#666;
  17.     displayinline-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年从江西骑行来到大理,现栖居于洱海边,食人间烟火,过简单生活,做简约设计!
1412.37M457.18W4.42W
加载中…
分享:
WOW.js简单实现页面滚动动画效果
WOW.js简单实现页面滚动动画效果上一篇
Wordpress获取自定义文章类型分类下的文章并循环下一篇
Wordpress获取自定义文章类型分类下的文章并循环
相关文章
总数:114

WordPress通过分类ID获取分类名称与链接

在Wordpress主题开发的过程中,尤其是CMS主题分类的布局,通过后台选项(萨龙龙使用的都是Redux开源框架)选择分类,前台通过调用分类的…
萨龙龙萨龙龙WordPress10年前001.90W0

WordPress 主题 MNews Pro 5.2 投稿新增可插入音视频功能

MNews Pro 主题已经更新到5.2版本,功能已经很完善,且实用,在文章投稿编辑器有用户提出不能上传视频或者插入视频简码不方便的问题。 …
萨龙龙萨龙龙WordPress3年前002.66W0

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

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

WordPress添加 span 标签到分类目录和文章归档文章数量上

WordPress 默认提供了分类目录,文章归档等小工具,在前台开发中,由于分类目录和文章归档显示的文章数量没有添加标签,导致写样式比较麻烦,如…
萨龙龙萨龙龙WordPress6年前001.48W0

WordPress使用WP-Cron函数定时执行任务

WordPress 本身一直有 WP-Cron(计划任务)的功能,可以设置每隔一段时间来执行,不过 WP-Cron 功能是基于页面浏览的,所以时…
萨龙龙萨龙龙WordPress7年前002.18W0

WordPress 使用 wp_set_password 重置用户密码

当 WordPress 管理员忘记密码或需要重置用户密码时,可以使用 wp_set_password 函数来实现。该函数将为指定用户设置新密码,…
萨龙龙萨龙龙WordPress3年前112.71W0

解决网站嵌入优酷视频堆叠顺序的问题

很多网站都会插入优酷或其它网站的在线视频到自己的网站中,默认情况下优酷视频的堆叠顺序并不受CSS样式z-index属性的影响,在视频页面有滚动、…
萨龙龙萨龙龙WordPress10年前001.37W0

WordPress龙霄主题对象存储功能完全指南:告别服务器存储瓶颈,开启云端加速时代

龙霄主题内置的原生对象存储功能模块,彻底解决了这一痛点。该模块深度集成了阿里云 OSS、腾讯云 COS、七牛云 Kodo 三大主流云存储服务商,…
萨龙龙萨龙龙WordPress15天前001420

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

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

在WooCommerce中添加“立即购买”按钮直接跳转到结算页面

MNews 主题集成了 WooCommerce 商城插件,有些用户要求增加一个『立即购买』按钮,这篇文章介绍下如何在WooCommerce中添加…
萨龙龙萨龙龙WooCommerce8年前003.22W0

WordPress 从不需要的页面禁用 WooCommerce 样式和脚本

WooCommerce 在每个页面上加载三个核心CSS样式表,并在WordPress站点上安装时发布。可以通过从不需要它的页面和内容中删除样式和…
萨龙龙萨龙龙WooCommerce7年前001.84W0

自定义WooCommerce产品文章hook顺序

最近在做一款企业产品展示的商城网站,设计WooCommerce产品文章的布局与默认的布局有很大的不同,所以其中的一些模块都需要重新调整。WooC…
萨龙龙萨龙龙WooCommerce9年前001.52W0
评论表单游客 您好,欢迎参与讨论。
加载中…
评论列表
总数:0
萨龙网络
没有相关内容