WordPress首页显示文章数包含置顶文章的设置方法

来自:素雅营销研究院

头像 方知笔记
2025年04月07日 02:10

问题背景

许多WordPress用户在设置首页显示文章数量时发现,实际显示的文章数与后台设置的数量不符。这是因为WordPress默认情况下会将”置顶文章”计算在首页显示的文章总数内,导致普通文章显示数量减少。

解决方案

方法一:修改functions.php文件

在主题的functions.php文件中添加以下代码:

function custom_posts_per_page($query) {
if (is_home() && $query->is_main_query()) {
$sticky_posts = count(get_option('sticky_posts'));
$posts_per_page = get_option('posts_per_page');
$query->set('posts_per_page', $posts_per_page + $sticky_posts);
}
}
add_action('pre_get_posts', 'custom_posts_per_page');

这段代码会自动计算置顶文章数量,并将其加到默认显示文章数中,确保首页显示的文章总数符合预期。

方法二:使用插件

  1. 安装并激活”Custom Post Limits”插件
  2. 在设置中找到”Reading”选项
  3. 调整”Main query posts per page”数值,确保包含置顶文章数量

方法三:修改查询参数

在主题的index.php文件中修改主查询:

$sticky = count(get_option('sticky_posts'));
$ppp = get_option('posts_per_page');
query_posts(array('posts_per_page' => $ppp + $sticky));

注意事项

  1. 修改代码前请备份网站
  2. 使用子主题进行修改,避免主题更新导致更改丢失
  3. 置顶文章数量不宜过多,建议控制在3-5篇以内
  4. 过多的置顶文章可能影响网站性能和用户体验

效果验证

修改完成后,可以:

  1. 清空WordPress缓存
  2. 刷新首页查看实际显示文章数
  3. 确保总数=置顶文章数+普通文章数

通过以上方法,您可以轻松解决WordPress首页显示文章数包含置顶文章的问题,使网站展示更加符合您的预期。