wordpress内置分页显示总页数
时间 : 2023-12-09 22:33:02声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

最佳答案

在WordPress中,可以使用以下代码来显示文章列表的分页和总页数:

```php

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;

$args = array(

'posts_per_page' => 5, // 每页显示的文章数量

'paged' => $paged // 当前的页码

);

$query = new WP_Query($args);

while ($query->have_posts()) :

$query->the_post();

// 显示文章内容

the_title();

endwhile;

$total_pages = $query->max_num_pages; // 总的页数

echo '总页数:' . $total_pages;

// 分页导航

echo paginate_links(array(

'total' => $total_pages,

'current' => $paged,

'prev_text' => '上一页',

'next_text' => '下一页'

));

wp_reset_postdata();

这段代码会首先查询文章列表,然后在循环中显示每篇文章的标题。接着,使用 `WP_Query` 类的 `max_num_pages` 属性获取总的页数,并使用 `paginate_links` 函数来显示分页导航。最后,使用 `wp_reset_postdata` 函数来重置文章查询。

以上代码中的 `posts_per_page` 参数可以根据需要自行调整,它表示每一页要显示的文章数量。在循环中,你可以根据需要来显示文章的其他内容。

其他答案

在WordPress中,你可以使用内置的函数`paginate_links()`来实现分页,并显示总页数。这个函数会根据你设置的每页显示的文章数量以及总共的文章数量来自动生成分页链接。

首先,在你想要显示分页的页面或模板文件中,使用以下代码来调用`paginate_links()`函数:

```php

<?php

global $wp_query;

$pagination = paginate_links( array(

'prev_next' => true, // 显示上一页和下一页的链接

'type' => 'plain', // 按钮样式,可以根据需要设置为 'plain'、'list' 或 'array'

'total' => $wp_query->max_num_pages, // 总页数

'current' => max( 1, get_query_var( 'paged' ) ), // 当前页码

'prev_next' => true, // 是否显示上一页和下一页的链接

'prev_text' => __('&laquo; 上一页', 'textdomain'), // 上一页链接的文本

'next_text' => __('下一页 &raquo;', 'textdomain'), // 下一页链接的文本

) );

echo $pagination;

?>

这段代码会生成一个包含分页链接的 HTML 输出,并将其赋值给`$pagination`变量。然后,你可以使用`echo`语句将链接输出到页面上。

在`paginate_links()`函数的参数中,我们使用`$wp_query->max_num_pages`来获取当前查询的总页数。这个值为WordPress自动计算得出,无需手动设置。

最后,我们使用`echo`语句将分页链接输出到页面上。

请注意,这段代码的前提是你的主题已经使用了正确的分页方式,这通常是在`pre_get_posts`钩子函数中设置的。如果你的主题没有正确设置分页,则无法正确显示总页数。

希望这可以帮助到你!