WordPress 分类文章显示异常解决教程:修复分类页面显示其他分类文章问题

如果你在 WordPress 网站中遇到分类页面显示异常的问题,比如例如我的站,点击“VPS测评”分类时,页面不仅显示该分类文章,还混入了子分类文章,那么我这篇教程将帮你系统解决。通过使用 Code Snippets插件 添加通用修复代码,可以确保每个分类页面只显示当前分类的文章,而不会显示子分类或其他分类的文章,从而恢复正常的文章查询显示。这篇教程适合所有希望修复 WordPress 分类文章显示异常、优化分类页面展示的用户。

 

问题描述

在 WordPress 网站中,你可能遇到以下问题:

  • 点击某个分类(例如“VPS测评”)时,分类页面显示了除了该分类以外的文章。

这种问题通常和 WordPress 默认查询逻辑有关。


问题原因

造成分类页面显示异常的常见原因有:

  1. WordPress 主查询没有限制分类
    当插件或主题在分类页面加载文章时,没有正确限制文章只属于当前分类。
  2. 父子分类关系
    如果当前分类有子分类,WordPress 默认查询会把子分类文章也显示,可能和你的期望不符。

 

解决方法

在 Code Snippets 插件新建个PHP类型的,复制下面的代码进去,然后选择仅在网站前台运行,保存并激活代码片段。

/**
 * 修复 WordPress 分类文章显示异常
 * 确保分类页面只显示当前分类下文章
 */
add_action('pre_get_posts', function($query) {
    if (!is_admin() && $query->is_main_query() && $query->is_category()) {
        // 设置只显示当前分类文章
        $query->set('tax_query', array(
            array(
                'taxonomy' => 'category',
                'field'    => 'slug',
                'terms'    => get_query_var('category_name'),
                'include_children' => false, // 如果希望包含子分类文章,改为 true
            )
        ));
    }
});

总结

通过以上方法,你可以解决 WordPress 分类页面显示异常的问题,让每个分类页面只显示该分类文章。无需改动主题模板即可实现,适合所有希望优化分类页面显示和文章查询的 WordPress 用户。

看一下效果,本来我这分类里会显示子分类的内容的

-

THE END