已解决

平时我们都是获取到指定分类下的文章然后进行分页,有时我们还需要把符合指定条件的所有分类获取出来,然后还需要给他们分页,那么WordPress自带的分页就不起作用了,那应该怎么做呢?

3 个回答

最佳
WordPress日记
超哥
行业大佬
行业大佬
时间: 2020年09月14日

可以参考下面的代码实现对分类的分页

<?php 
    $taxonomy = 'product_cat';
    $num = wp_count_terms($taxonomy,array(
        'taxonomy' => $taxonomy,
        'hide_empty' => false,
    ));
    $page=$_GET['page'];//当前是第几页
    $pagesize=20;//每页显示记录数量
    $pages=($page-1)*$pagesize;//偏移量
    $nums=ceil($num/$pagesize);//总页数
    if(!$_GET['page']){
        $page=1;
        $pages=0;
    };
?>
<ul class="courselist_out">
    <?php $terms = get_terms( array(
        'taxonomy' => $taxonomy,
        'hide_empty' => false,
        'number' => $pagesize,
        'offset' => $pages,
    ));?>
    <?php if($terms){?>
        <?php foreach ($terms as $term) {?>
            <li>
                <?php echo $term->name;?>
            </li>
        <?php } ?>
    <?php } ?>
    <div class="clearfix"></div>
</ul>
<?php $page_t=$page-1;$page_r=$page+1;?>
<div class="page_navi text-center">
    <?php if($_GET['page'] > 1 ){?>
        <a href="<?php bloginfo('url');?>/product_cat?page=<?php echo $page_t;?>">上一页</a>
        <!--这里面的链接前缀部分根据您的具体情况调整-->
    <?php } ?>
    <?php if($nums > 1){?>
        <?php for($i=1; $i<=$nums; $i++) {?>
            <a href="<?php bloginfo('url');?>/product_cat?page=<?php echo $i;?>" class="<?php if($_GET['page'] == $i){echo "current";};?>"><?php echo $i;?></a>
            <!--这里面的链接前缀部分根据您的具体情况调整-->
        <?php } ?>
    <?php } ?>
    <?php if($nums <=1 || $_GET['page'] == $nums ){?>   
    <?php } else {?>
        <a href="<?php bloginfo('url');?>/product_cat?page=<?php echo $page_r;?>">下一页</a>
        <!--这里面的链接前缀部分根据您的具体情况调整-->
    <?php } ?>
</div>

 

WordPress日记
超哥
行业大佬
行业大佬
时间: 2020年08月26日

这个问题怎么样呢