You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress站点如何显示无文章分类?解决分类URL404报错问题

解决WordPress无文章分类显示404的问题

下面提供两种实用方案,让无关联文章的分类页面返回空白内容而非404错误:

方案一:修改主题分类模板文件

  1. 找到当前激活主题的category.php文件(如果主题没有这个文件,复制archive.php并重命名为category.php)。
  2. 打开文件后,在模板逻辑的最开始位置添加判断:
<?php
// 获取当前分类ID
$cat_id = get_queried_object_id();
// 查询该分类下是否存在文章
$post_exists = get_posts(array(
    'category__in' => array($cat_id),
    'post_type' => 'post',
    'posts_per_page' => 1,
    'fields' => 'ids'
));

if (empty($post_exists)) {
    // 无文章时输出空白内容
    echo '';
    exit;
}
// 原有模板逻辑继续执行
?>
  1. 保存文件后,访问无文章的分类URL,就会显示空白页面。

方案二:通过functions.php添加钩子拦截

如果不想修改模板文件,可以在主题的functions.php中添加以下代码:

add_action('template_redirect', 'handle_empty_category');
function handle_empty_category() {
    // 判断当前是否为分类页面且无文章
    if (is_category() && !have_posts()) {
        // 重置404状态为正常200
        global $wp_query;
        $wp_query->is_404 = false;
        status_header(200);
        
        // 输出空白内容,也可替换为自定义提示HTML
        echo '';
        exit;
    }
}

这段代码会在页面跳转前检查分类是否有文章,无文章时强制返回200状态并输出空白,避免触发404。

内容的提问来源于stack exchange,提问作者aross

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 20:35:37