您的浏览器需要启用 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.36M457.17W4.42W
加载中…
分享:
WOW.js简单实现页面滚动动画效果
WOW.js简单实现页面滚动动画效果上一篇
Wordpress获取自定义文章类型分类下的文章并循环下一篇
Wordpress获取自定义文章类型分类下的文章并循环
相关文章
总数:114

WordPress 功能函数—— add_blog_option(为指定的博客ID添加新选项)

描述 您不需要序列化值。如果需要序列化值,则在将其插入数据库之前将其序列化。请记住,资源不能序列化或作为选项添加。 …
萨龙龙萨龙龙WordPress Functions7年前001.18W0

通过 WordPress 多语言插件 WPML 的语言配置文件 wpml-config.xml 来支持 Polylang 翻译主题选项字段

网上已经有很多介绍 WordPress 多语言的插件了,比如 Polylang 和 WPML 等强大的多语言插件,但是只是介绍,很快都是能掌握怎…
萨龙龙萨龙龙WordPress8年前001.59W0

让SI CAPTCHA Anti-Spam插件支持WooCommerce注册表单验证码

萨龙网络使用的主题Purity最新版本弃用了Buddypress社区插件,这样注册表单只能使用WooCommerce商城自带的,验证码还是使用S…
萨龙龙萨龙龙WooCommerce, WordPress9年前001.69W0

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

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

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

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

WooCommerce 注册表单添加本站名称为字段的验证方式

萨龙网络使用的 Youji 原创企业主题注册登录都是使用 WooCommerce 商城插件自带的表单,使用简单方便。最近苦于国外机器人注册多,且…
萨龙龙萨龙龙WooCommerce7年前001.49W0

WordPress 如何根据文章类型向编辑器添加 CSS

在 WordPress 中,我们可以通过向主题中添加 CSS 文件来为页面和文章添加样式。但是,如果您希望根据文章类型添加自定义样式,该怎么办呢…
萨龙龙萨龙龙WordPress3年前002.29W0

在 WordPress 主题中编辑器 WooCommerce 产品选项卡-tabs

WooCommerce 产品页面默认有3个选项卡:描述,其它信息和评论,对于很多 WordPress 主题或许不太适合,需要修改或者添加选项卡。…
萨龙龙萨龙龙WooCommerce, WordPress4年前003.25W0

WordPress为所有文章自动添加自定义字段

Sixianqiu主题是专为诗歌设计开发的主题,有一些朋友也需要这样的多形式博客主题,就整理出来了。一开始所有的文章内容都是居中显示,这样对于其…
萨龙龙萨龙龙WooCommerce9年前001.76W0

WordPress 管理面板中禁用主题和插件编辑器

默认情况下,WordPress允许用户通过后台管理面板编辑主题和插件代码。虽然它是一个方便的功能,但对于主题或插件作者没有任何用途,最重要可以防…
萨龙龙萨龙龙WordPress7年前001.01W0

WordPress为分类添加自定义值

在开发一些比较独特的主题过程中,需要自定义很多内容,本文是如何为分类添加自定义缩略图。 将如下代码添加到主题functions.php中:…
萨龙龙萨龙龙WordPress9年前001.13W0

WordPress 主题 Slearn Pro 课程插件之编辑文章时创建和选择课时

在WordPress + Vue.js 主题 Slearn Pro 发布2.0重写版本后,用户反馈编辑课程选择课时时不够友好,课时很多时选择就相…
萨龙龙萨龙龙WordPress3年前002.64W0
评论表单游客 您好,欢迎参与讨论。
加载中…
评论列表
总数:0
萨龙网络
没有相关内容