如果您想在每个页面上显示来自两个标签的帖子,我认为最好的方法是仅在“get_terms”函数上查询这两个标签。另外,我认为您必须创建自己的分页,因为分页是按查询进行的,并且由于您正在创建自定义分页,因此标准分页将不适用。
另外,如果您在页面模板中执行所有操作,则应使用“page”而不是“paged”查询变量。如果它是存档页面(或任何非单页),则“分页”变量很好。在下面的代码中,我考虑了这两个选项。
<?php
if (get_query_var('paged')) { /* in case the code is on an archive/taxonomy page */
$paged = get_query_var('paged');
$nextpage = add_query_arg('paged', $paged + 1, get_permalink()); /* for paging later */
$prevpage = add_query_arg('paged', $paged - 1, get_permalink());
} elseif (get_query_var('page')) { /* in case the code is on a single page */
$paged = get_query_var('page');
$nextpage = add_query_arg('page', $paged + 1, get_permalink());
$prevpage = add_query_arg('page', $paged - 1, get_permalink());
} else {
$paged = 1;
if(!is_single() && !is_page()) { /* since there is no corresponding query var, need to check by type of page */
$nextpage = add_query_arg('paged', $paged + 1, get_permalink());
$prevpage = add_query_arg('paged', $paged - 1, get_permalink());
} else {
$nextpage = add_query_arg('page', $paged + 1, get_permalink());
$prevpage = add_query_arg('page', $paged - 1, get_permalink());
}
}
$number_per_page = 2; /* number of tags to show per page */
$car_count = get_terms(array(
'taxonomy' => 'post_tag',
'fields' => 'count', /* returns only number of terms for paging purpose */
));
$number_of_pages = $car_count / $number_per_page; /* get the total amount of pages */
$car_group_terms = get_terms(array(
'taxonomy' => 'post_tag',
'number' => $number_per_page,
'offset' => $number_per_page * ($paged - 1) /* offset to show the correct tags according to page number */
));
foreach ($car_group_terms as $car_group_term) {
/* Do What ever you want to do with each tag here */
}
/** paging **/
if ($paged < $number_of_pages) {
echo '<a href="' . $nextpage . '">Next Page</a> ';
}
if ($paged < $number_of_pages && $paged > 1) {
echo ' | ';
}
if ($paged > 1) {
echo '<a href="' . $prevpage . '">Previous Page</a> ';
}
/** /paging **/
?>
用您自己的代码替换“/* Do What ever you want to do with each tag here */”。我没有将其复制到我的答案中,因为您的花括号有一些问题,并且与答案无关。