Function 如何对get_users函数进行分页?
Im使用get_users功能显示站点上的自定义用户列表。我现在唯一有问题的是如何对结果进行分页 这是Im使用的函数示例:Function 如何对get_users函数进行分页?,function,pagination,paginate,Function,Pagination,Paginate,Im使用get_users功能显示站点上的自定义用户列表。我现在唯一有问题的是如何对结果进行分页 这是Im使用的函数示例: <ul> <?php $args = array( 'meta_key' => 'jabber', 'meta_value' => 'User Name', 'meta_compare' => 'LIKE', 'order' => 'ASC',
<ul>
<?php
$args = array(
'meta_key' => 'jabber',
'meta_value' => 'User Name',
'meta_compare' => 'LIKE',
'order' => 'ASC',
'count_total' => true,
'fields' => 'all',
);
$blogusers = get_users($args_1);
foreach ($blogusers as $user) {
$user_id = $user->ID;
$user = get_userdata($user_id);
echo '<li class="provider-list prov-list-gradient">' . $user->display_name . '</li>';
}
?>
</ul>
如果您在加载每页
N
结果之前运行get\u users()
,您可以修改get\u users()
查询以使用mysql中的OFFSET
关键字
伪查询示例(其中p
是您的页码):
谢谢你们,快乐地震。我在查询中添加了offset参数。设置为8。据我所知,offset在结果中跳过了许多用户。我将把get_users函数加载到一个php文件中,并使用模板页面列出foreach结果。我将把N设置为8,这样每页将有8个结果。我如何使用您的mysql示例来实现您的解决方案?很多问题取决于您,但我在想,您的$args数组中可能会有另一个键/值对,对应于您当前所在的页面(例如,“currentPage”=>“1”)。然后,在get_用户中生成查询时,可以附加偏移量表达式$查询='。。。LIMIT'.N.'OFFSET'.N*currentPageOK,有一个“number”参数“限制返回的用户总数”。也许这就是我可以用于您的解决方案的原因……但是如果这是正确的,我需要将该数字设置为无限,因为我可能会有大量的结果。通过包含number和offset参数,我可能可以使用您提供的一个示例来实现分页……您认为如何?听起来您的思路是正确的。我想我对get_users()函数有点困惑。如果我能看到该函数的源代码,我可能会给出更好的建议。
function get_users( $args = array() ) {
$args = wp_parse_args( $args );
$args['count_total'] = false;
$user_search = new WP_User_Query($args);
return (array) $user_search->get_results();
}
SELECT * FROM USERS LIMIT N OFFSET N*P