WordPress 使用 paginate_links 创建带分页功能的用户列表
文 / @WordPress主题
开发WordPress主题的经历
作为一个拥有多年WordPress主题开发经验的小本本,我在开发过程中发现很多朋友都喜欢做一个用户列表页面,既可以增加网站用户的活跃度,又可以方便用户查找其他用户,同时也可以展示出网站的多样性与活力。但当用户数量非常大的时候,所有用户在一个页面显示出来会造成这个页面打开的速度非常慢,这时候为用户列表增加一个分页功能就非常有必要了,但很多朋友在实现分页功能的时候遇到了问题。今天我们就来介绍一下如何使用WordPress的paginate_links
函数实现用户列表分页。
首先,查询并显示用户列表,顺便准备需要用到的分页数据
$number=10;//每页显示的数量
$paged=(get_query_var('paged'))?get_query_var('paged'):1;//当前第几页
$offset=($paged-1)*$number;//偏移量
$users=get_users();//获取所有用户
$query=get_users('&offset='.$offset.'&number='.$number);//当前页面查询到的用户
$total_users=count($users);//用户总数
$total_query=count($query);//总查询数量
$total_pages=intval($total_users/$number)+1;//总页数
foreach($queryas$q){
//列出用户
}
其次,利用paginate_links
函数显示分页
实现分页的原理就是需要对结果进行分割,拿到需要的每一页的数据,然后进行页面渲染。而paginate_links
函数就是WordPress提供的一个非常方便的用于生成分页链接的函数,我们可以把需要的数据(每页显示的数据量,总数据量和当前页数)传递给它,它会自动帮助我们生成分页链接。不仅如此,这个函数还支持各种传参、格式化等操作,非常灵活。
if($total_users>$total_query){
echo'<div id="pagination" class="clearfix">';
echo'<span class="pages">Pages:</span>';
//从第一页和查询参数页中选一个最大的作为当前页数
$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,
'prev_next' => false,
'type' => 'list',
));
echo'</div>';
}
同样的方法也适用于其他列表页面的分页,如分类、标签等,甚至在WordPress中自定义数据表的分页功能也可以通过paginate_links
函数实现。如果你比较熟悉其他分页函数库,例如paginator,用法也是类似的。

相关文章
-
搭建一个WordPress网站需要多少成本 2023-11-06 00:09:51
-
Symlink介绍(附:如何使用Symlink进行WordPress开发) 2023-11-05 23:38:32
-
让WordPress实现数据库同步的插件:HyperDB 2023-10-24 23:40:49
-
allegro电商平台值得做吗(附:2023年Allegro注册流程指南) 2023-10-08 21:53:39
-
印度跨境电商平台有哪些(附:印度跨境电商做什么产品好) 2023-10-08 21:34:23
-
跨境电商必看的几大海外二手电商平台 2023-10-08 18:04:42
-
WordPress同城互联网产品解决方案:UBASE 2023-10-03 16:40:39
-
WordPress网站的安全插件:wordfence 2023-09-14 09:25:18
-
WordPress 6.3 支持在手动更新插件和主题失败后回滚旧版本 2023-08-28 16:58:45
-
WordPress 6.3版本(2023年8月)性能提升了哪些? 2023-08-28 16:56:02