如何对get_users函数进行分页?

时间:2011-10-26 22:20:01

标签: function pagination paginate

我使用get_users函数显示网站上的自定义用户列表。我现在遇到问题的唯一问题是如何对结果进行分页。

这是我使用的函数示例:

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

似乎没有一种明显的方法可以为此功能创建分页。我很感激你的帮助。

更新

这是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();
    }

1 个答案:

答案 0 :(得分:1)

如果您在加载get_users()个结果的每一页之前运行N,则可以修改get_users()查询以在mysql中使用OFFSET关键字。

伪查询示例(其中P是您的页码):

SELECT * FROM USERS LIMIT N OFFSET N*P