Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Function 如何对get_users函数进行分页?_Function_Pagination_Paginate - Fatal编程技术网

Function 如何对get_users函数进行分页?

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',

Im使用get_users功能显示站点上的自定义用户列表。我现在唯一有问题的是如何对结果进行分页

这是Im使用的函数示例:

<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