在WordPress按角色获取可分页的用户列表并显示最新文章这篇文章中我们已经介绍了获取单个角色的用户列表,如果想获取多个角色的用户列表呢,get_users函数中的role并不支持数组,这时我们就要把多个数组进行合并,使用array_merge()将两个或多个数组的单元合并起来,使用array_slice() 函数在数组中根据条件取出一段值,并返回。
多个角色的排列顺序将以array_merge()函数中单元的排列为顺序,比如:array_merge($editors,$authors,$contributors);,顺序则为编辑、作者和投稿者,每个角色中可以再进行排序。
完整的获取多个角色的代码,添加到模板页面即可:
- <section class="user_content">
- <?php $number = 8;
- <!-- 作者 -->
- <ul>
- <?php
- $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
- $offset = ($paged - 1) * $number;
- $editors = get_users(
- array(
- 'blog_id'=> 1,
- 'orderby' => 'post_count',
- 'order' => 'DESC',
- 'role' => 'editor'
- )
- );
- $authors = get_users(
- array(
- 'blog_id' => 1,
- 'orderby' => 'post_count',
- 'order' => 'DESC',
- 'role' => 'author'
- )
- );
- $contributors = get_users(
- array(
- 'blog_id' => 1,
- 'orderby' => 'post_count',
- 'order' => 'DESC',
- 'role' => 'contributor'
- )
- );
- $users = array_merge($editors,$authors,$contributors);
- $query = array_slice($users, $offset, $number);
- $total_users = count($users);
- $total_query = count($query);
- $total_pages = intval($total_users / $number) + 1;
- foreach ($query as $user) { ?>
- <?php global $wp_query; $display_name = $user->display_name; ?>
- <li>
- <?php echo $display_name; ?>
- </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>
[infobox]获取多个角色的用户列表请前往野玩儿官网,同时野玩儿也添加一个自定义的角色(神人),通过get_users函数一样的获取神人用户列表,重新设计了用户列表的样式。演示站的用户列表还是获取单个角色。[/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-more-role-users-pagination.html
一个平平常常的人,热爱生活、旅行和摄影,骑行去过西藏,一直计划再去。14年从江西骑行来到大理,现栖居于洱海边,食人间烟火,过简单生活,做简约设计!很多网站都会插入优酷或其它网站的在线视频到自己的网站中,默认情况下优酷视频的堆叠顺序并不受CSS样式z-index属性的影响,在视频页面有滚动、…在开发基于WooCommerce的商城主题时,我们一般会将模板文件添加到主题中来进行修改,对于有钩子或接口的地方,就没有必要再修改模板代码了…在WordPress中,我们可以通过向主题中添加CSS文件来为页面和文章添加样式。但是,如果您希望根据文章类型添加自定义样式,该怎么办呢…使用WordPressMU多站点来管理所有的站点确实很方便,可以省去很多重复的工作,节省资源。萨龙网络使用MU多站点已经很久,已经爱不释手,也…描述
激活多个插件。
当WP_Error返回,但这并不意味着该插件的一个有错误。这意味着一个或多个插件文件路径无效。…萨龙网络在2018年9月份就写了一篇《WordPress简约实用的主题选项框架CodestarFramework》文章来介绍Codest…网站开放注册的站点都会添加一个前台登录与注册的表单或页面,这样方便用户登录站点,同时也保证网站后台的安全性。今天我们来介绍前台登录函数wp_lo…新闻视频类Yewan主题的首页文章布局是不规则,文章的布局多样化,这是如何实现的?其实是很简单的,我们在循环中进行判断,每一篇文章都可以输出不同…萨龙网络使用Buddypress社区已经很长一段时间,在社区首页动态中可能获取整个网站的最新文章、用户注册,用户动态内容,而自定义文章类型的发布…WooCommerce产品页面默认有3个选项卡:描述,其它信息和评论,对于很多WordPress主题或许不太适合,需要修改或者添加选项卡。…萨龙网络使用的主题Purity最新版本弃用了Buddypress社区插件,这样注册表单只能使用WooCommerce商城自带的,验证码还是使用S…自从了解到WordpressMU多站点,就开始一步一步的向多站点发展,也将萨龙网络所有站点都安装在WordpressMU多站点中。在使用多站…