サイト上のユーザーのカスタムリストを表示するためにget_users関数を使用しています。今考え出している問題を抱えている唯一の問題は結果をどのようにページ付けするかです。
これはImが使っている関数のサンプルです:
この関数のためのページ付けを作成する明白な方法はないようです。私はこれでいくらかの助けに感謝します。
まずユーザーの総数を取得します。
$total_users = count_users();
//var_dump($total_users); //for debugging purpose
$total_users = $total_users['total_users'];
そして現在のページ:
$paged = get_query_var('paged');
1ページに表示するユーザー数を決める変数を設定します。
$number = 20; // ie. 20 users page page
次に、$ args配列に、現在のページが!= 0の場合のオフセットと、返される最大ユーザー数を追加します。
'offset' => $paged ? ($paged - 1) * $number : 0,
'number' => $number,
上記のコードを追加して、ページリンクを作成します。
// display the user list here
if($total_users > $number){
$pl_args = array(
'base' => add_query_arg('paged','%#%'),
'format' => '',
'total' => ceil($total_users / $number),
'current' => max(1, $paged),
);
// for ".../page/n"
if($GLOBALS['wp_rewrite']->using_permalinks())
$pl_args['base'] = user_trailingslashit(trailingslashit(get_pagenum_link(1)).'page/%#%/', 'paged');
echo paginate_links($pl_args);
}
引数の全リストについては paginate_links()
を参照してください。