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

使用WordPress add_feed()函数时触发wp_die错误求助

WordPress自定义Feed触发"This is not a valid feed template"错误的解决

问题描述

使用add_feed()函数添加自定义Feed(访问地址http://localhost/_feed2)时,出现wp_die错误,错误信息如下:

wp_die <![CDATA[WordPress › Error]]> Error: This is not a valid feed template.]]> 404

原使用代码:

function feed2_callback( $is_comment_feed, $feed ) {
    header( 'Content-Type: application/xml; charset=UTF-8', true );
    echo '<?xml version="1.0" encoding="UTF-8" ?>';
?><rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom">
    <title>Test</title></rss><?php
}
add_feed( '_feed2', 'feed2_callback' );

错误原因

  1. PHP标签嵌套错误:代码中在echo语句后直接闭合PHP标签?>,编写RSS内容后又打开<?php闭合函数,这种写法会导致语法解析异常,WordPress无法识别为有效的feed模板。
  2. 固定链接规则未刷新:添加新Feed后,WordPress的rewrite规则未更新,导致访问路径匹配失败,触发404状态码。

解决步骤

1. 修正回调函数代码

将原有代码替换为语法正确的版本,统一用PHP输出RSS内容:

function feed2_callback( $feed ) {
    // 设置正确的Content-Type头
    header( 'Content-Type: application/xml; charset=UTF-8', true );
    // 输出XML声明和RSS内容
    echo '<?xml version="1.0" encoding="UTF-8" ?>';
    echo '<rss version="2.0"
        xmlns:content="http://purl.org/rss/1.0/modules/content/"
        xmlns:dc="http://purl.org/dc/elements/1.1/"
        xmlns:atom="http://www.w3.org/2005/Atom">
        <title>Test</title>
    </rss>';
}
// 注册自定义Feed
add_feed( '_feed2', 'feed2_callback' );

2. 刷新固定链接规则

登录WordPress后台,进入「设置」→「固定链接」页面,无需修改任何设置,直接点击保存更改按钮,触发rewrite规则更新。

3. 测试访问

再次访问http://localhost/_feed2,即可正常加载自定义Feed内容。

内容的提问来源于stack exchange,提问作者Ashok Kumar Panthri

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 07:43:13