首页 问答 正文

如何在WordPress中对页面进行分页?

注册会员 / 悠然自学 / 2023-06-11/ 浏览 128 次

WordPress中可以使用内置函数paginate_links()来进行页面分页操作。该函数可以生成页面链接,使用户可以通过链接切换到不同的页面。

示例代码:

<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
    'post_type' => 'post',
    'posts_per_page' => 10,
    'paged' => $paged
);
$custom_query = new WP_Query($args);
if ($custom_query->have_posts()) :
    while ($custom_query->have_posts()) : $custom_query->the_post();
        //对文章进行渲染
    endwhile;
    $big = 999999999; // 需要一个非常big的数字
    echo '<div class="pagination">';
    echo paginate_links(array(
        'base' => str_replace($big, '%#%', esc_url(get_pagenum_link($big))),
        'format' => '?paged=%#%',
        'current' => max(1, get_query_var('paged')),
        'total' => $custom_query->max_num_pages
    ));
    echo '</div>';
endif;
wp_reset_postdata();
?> 

其中,$args数组中设置了每页显示10篇文章,并且通过paged参数指定当前页码。使用WP_Query函数查询文章,然后通过循环渲染每篇文章。

paginate_links()函数接受一个关联数组作为参数,该数组包含一些用于生成分页链接的设置。base是链接URL中的基础部分,可以使用str_replace()函数将非常大的数字替换成%#%来获取当前页码。format参数设置链接的形式,current参数设置当前页码,total参数设置总页数。

最后,通过wp_reset_postdata()函数重置文章数据。使用类似上述代码的方式,即可在WordPress中对页面进行分页操作。

大家谈论
    我的见解