如果你使用 query_posts
导致分页失效,你可以考虑使用 WP_Query
来替代,因为 query_posts
已经被 WordPress 不推荐使用了,并且容易引发一些问题,包括分页问题。以下是如何使用 WP_Query
来解决这个问题的步骤:
找到你的主题文件中使用 query_posts
的位置。通常,这是在主题的模板文件(如 archive.php
、category.php
、tag.php
等)中。
将所有使用 query_posts
的代码替换为 WP_Query
。例如,如果你的代码如下所示:
query_posts('category_name=example&paged=' . $paged);
if (have_posts()) : while (have_posts()) : the_post();
// 显示文章内容
endwhile; endif;
你可以改为:
$args = array(
'category_name' => 'example',
'paged' => $paged
);
$custom_query = new WP_Query($args);
if ($custom_query>have_posts()) :
while ($custom_query>have_posts()) : $custom_query>the_post();
// 显示文章内容
endwhile;
endif;
// 恢复原始的WordPress查询
wp_reset_postdata();
这个例子中,我们首先创建了一个包含你的查询参数的 $args
数组,然后使用 WP_Query
创建了一个自定义查询对象 $custom_query
。之后,我们使用这个自定义查询对象来显示文章,并在最后使用 wp_reset_postdata()
恢复原始的 WordPress 查询。
通过这种方式,你应该能够解决由于 query_posts
导致的分页问题,并且使用更现代和稳定的方式来自定义查询。