萨龙网络
登录
首页-WordPress文章-WordPress-正文

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

萨龙龙萨龙龙
WordPress
10年前
0
0
1.32W
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年从江西骑行来到大理,现栖居于洱海边,食人间烟火,过简单生活,做简约设计!
1342.32M457.10W4.42W
加载中…
分享:
WOW.js简单实现页面滚动动画效果
WOW.js简单实现页面滚动动画效果上一篇
Wordpress获取自定义文章类型分类下的文章并循环下一篇
Wordpress获取自定义文章类型分类下的文章并循环
相关文章
总数:107

WordPress 主题感染恶意代码function _check_active_widgets

萨龙龙开发主题这么久,第一次感染恶意代码,整个WordPress下的主题functions.php都被插入了一大段函数代码,百度一下也发…
萨龙龙萨龙龙
WordPress
8年前
0
0
1.66W
0

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

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

WordPress为分类添加自定义值

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

WordPress按自定义文章类型进行搜索

一般的Wordpress主题中都有多种自定义文章类型,除了了默认的文章还会有作品、商品等自定义类型的文章,而WordPress默认只能搜索到文章…
萨龙龙萨龙龙
WordPress
9年前
0
0
1.31W
0

WordPress 简约实用的主题选项框架 Codestar Framework

CodestarFramework,一个轻量且易用的WordPress选项框架,在萨龙龙最新设计开发的企业教育培训类WordPress…
萨龙龙萨龙龙
WordPress
7年前
0
0
3.95W
0

WordPress禁用古腾堡(Gutenberg)使用经典的编辑器

很多人在使用WordPress最新的Gutenberg编辑器时都觉得并不适应,很难上手,毕竟新的事物要是需要时间才能熟悉。如果不想用还是…
萨龙龙萨龙龙
WordPress
7年前
0
0
10K
0

WordPress 功能函数——absint(将值转换为非负整数)

用法 absint(mixed$maybeint) 将值转换为非负整数。 参数 $maybeint (mixed)(必需)您希望…
萨龙龙萨龙龙
WordPress Functions
7年前
0
0
1.13W
0

WordPress添加标签相关文章简码

自从了解到WordpressMU多站点,就开始一步一步的向多站点发展,也将萨龙网络所有站点都安装在WordpressMU多站点中。在使用多站…
萨龙龙萨龙龙
WordPress
10年前
0
0
1.26W
0

WordPress 判断是否在循环中的函数 in_the_loop

WordPress主题开发中,很多时间需要在文章与列表中进行判断从而输出不同的内容,比如文章分类,只想在列表中显示,文章中不显示。列表页面可直…
萨龙龙萨龙龙
WordPress
7年前
0
0
1.09W
0

WordPress 添加菜单项目描述

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

WooCommerce 商城首页排除指定分类

WooCommerce是WordPress中最强大的商城插件,没有之一。在Slearn主题的开发过程中,需要将课程和商城结合,课程使用…
萨龙龙萨龙龙
WooCommerce
6年前
0
0
1.09W
0

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

萨龙网络在2018年9月份就写了一篇《WordPress简约实用的主题选项框架CodestarFramework》文章来介绍Codest…
萨龙龙萨龙龙
WordPress
7年前
0
0
3W
0
评论表单游客 您好,欢迎参与讨论。
加载中…
评论列表
总数:0
萨龙网络
没有相关内容