如何对foreach循环进行分页?
How to paginate a foreach loop?
我有这个 foreach 循环 显示 支持者 位于 post_meta 来自自定义 post 类型。我想要做的是将 pagination 添加到 foreach 循环。我已经找到了一种通过切片数组来决定显示多少支持者的方法,但现在我不知所措。并且不知道如何进行。
获取支持者数组的函数
function getSupporters($petitieID){
$support = get_post_meta(get_the_ID(), 'supporters', true);
if (!empty($support)){
return $support;
}}
显示数组中个人支持者的功能
function showSupporters($petitieID){
$supporters = getSupporters($petitieID);
if (!empty($supporters)){
foreach (array_slice($supporters, 0, 2) as $supporter){
$supporterID = $supporter->post_author;
the_author_meta('first_name', $supporterID);
}
}else {
echo 'no votes';
}
}
您可以确定当前显示在您地址中的 GET 变量中的页面
.../supporters.php?page=1
然后您可以相应地设置 array_slice
函数的偏移量
$nItemsPerPage = 2;
$page = isset($_GET['page'])?$_GET['page']:1;
array_slice($supporters, $nItemsPerPage*($page-1), $nItemsPerPage)
我有这个 foreach 循环 显示 支持者 位于 post_meta 来自自定义 post 类型。我想要做的是将 pagination 添加到 foreach 循环。我已经找到了一种通过切片数组来决定显示多少支持者的方法,但现在我不知所措。并且不知道如何进行。
获取支持者数组的函数
function getSupporters($petitieID){
$support = get_post_meta(get_the_ID(), 'supporters', true);
if (!empty($support)){
return $support;
}}
显示数组中个人支持者的功能
function showSupporters($petitieID){
$supporters = getSupporters($petitieID);
if (!empty($supporters)){
foreach (array_slice($supporters, 0, 2) as $supporter){
$supporterID = $supporter->post_author;
the_author_meta('first_name', $supporterID);
}
}else {
echo 'no votes';
}
}
您可以确定当前显示在您地址中的 GET 变量中的页面
.../supporters.php?page=1
然后您可以相应地设置 array_slice
函数的偏移量
$nItemsPerPage = 2;
$page = isset($_GET['page'])?$_GET['page']:1;
array_slice($supporters, $nItemsPerPage*($page-1), $nItemsPerPage)