WordPress获取多个角色的用户列表并分页。
完整的获取多个角色的代码,添加到模板页面即可:
<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);//使用array_merge()将两个或多个数组的单元合并起来
$query = array_slice($users, $offset, $number);//array_slice() 函数在数组中根据条件取出一段值,并返回
$total_users = count($users);//使用 count() 这个PHP函数来获取用户总数
$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>