2023-06-11 / 368阅
在WordPress中,默认的分页方式是使用paginate_links()
函数,它会根据当前文章列表中的文章数量和每页显示的文章数自动生成分页链接。但是有时候我们需要自定义分页方式,比如按照分类或者标签来进行分页。下面提供一种自定义分页的方法。
首先,在模板文件中获取当前分类或标签的ID,并计算总共有多少篇文章,和需要分多少页。
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
// 获取当前分类或标签的ID
$cat_id = get_query_var('cat') ? get_query_var('cat') : get_query_var( 'tag_id' );
// 根据分类或标签ID获取文章总数
$numposts = get_term($cat_id)->count;
// 每页显示的文章数量
$posts_per_page = get_option('posts_per_page');
// 计算总共的页数
$page_num = ceil($numposts/$posts_per_page);
?>
然后,根据当前页数和总页数生成分页链接。这里使用了Bootstrap框架的分页样式。
<ul class="pagination">
<?php for($i=1; $i<=$page_num; $i++) : ?>
<li <?php if($paged == $i) echo 'class="active"' ?>>
<a href="<?php echo esc_url(get_pagenum_link($i)) ?>">
<?php echo $i ?>
</a>
</li>
<?php endfor; ?>
</ul>
最后,将分页链接放到合适的位置即可。
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
// 获取当前分类或标签的ID
$cat_id = get_query_var('cat') ? get_query_var('cat') : get_query_var( 'tag_id' );
// 根据分类或标签ID获取文章总数
$numposts = get_term($cat_id)->count;
// 每页显示的文章数量
$posts_per_page = get_option('posts_per_page');
// 计算总共的页数
$page_num = ceil($numposts/$posts_per_page);
?>
<ul class="pagination">
<?php for($i=1; $i<=$page_num; $i++) : ?>
<li <?php if($paged == $i) echo 'class="active"' ?>>
<a href="<?php echo esc_url(get_pagenum_link($i)) ?>">
<?php echo $i ?>
</a>
</li>
<?php endfor; ?>
</ul>
这样就可以自定义生成分页链接了。
阅读文章或者观看视频过程中有任何问题,请下方留言或者联系我Q248758228