在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年从江西骑行来到大理,现栖居于洱海边,食人间烟火,过简单生活,做简约设计!WooCommerce是WordPress中最强大的商城插件,没有之一。在Slearn主题的开发过程中,需要将课程和商城结合,课程使用…萨龙网络开发的MNews主题中,集成了个人中心功能,需要获取文章、视频、下载、专题和商城的文章数量,这个是比较简单,使用wp_count_p…在开发MNews主题的快讯功能时,希望一天内发布的快讯文章在当天日期下,而不是每篇都显示一个日期,通过the_date()函数可完美的达到这…Wordpress的菜单都是通过后台菜单来添加设置,很多时候需要添加一些功能到菜单,比如搜索,或者购物车,这时我们就可以使用wp_nav_men…WordPress主题开发中,很多时间需要在文章与列表中进行判断从而输出不同的内容,比如文章分类,只想在列表中显示,文章中不显示。列表页面可直…MNews和LensNews主题都有前台投稿的功能,用户可以上传图片等文件,管理员是不希望用户上传任意的媒体文件,这时我们可以对用户上传的…萨龙网络使用的主题Purity最新版本弃用了Buddypress社区插件,这样注册表单只能使用WooCommerce商城自带的,验证码还是使用S…萨龙龙开发主题这么久,第一次感染恶意代码,整个WordPress下的主题functions.php都被插入了一大段函数代码,百度一下也发…CodestarFramework,一个轻量且易用的WordPress选项框架,在萨龙龙最新设计开发的企业教育培训类WordPress…产品属性可在后台「产品——产品选项——属性」中单独设置(也可在编辑产品时再次添加),有三种类型:文本、颜色和图片,在前台也是以这三种方式来显示。…使用WordPress+Nuxt3做前后端分离项目时,菜单需要多维数组,且不限层级,可以使用递归函数很方便地将wp_get_nav_menu…在WordPress+Vue.js主题SlearnPro发布2.0重写版本后,用户反馈编辑课程选择课时时不够友好,课时很多时选择就相…