如何修改WordPress RSS中<description>标签的内容?
WordPress页面RSS订阅:让Description标签显示页面内容
注意:不建议直接修改核心文件
直接编辑wp-includes/feed-rss.php属于改动WordPress核心文件,后续版本更新时该文件会被覆盖,你的修改会丢失。优先推荐用钩子函数实现,若你坚持修改核心文件,参考以下方法。
核心文件修改方法
找到wp-includes/feed-rss.php中的代码行:
<description><?php bloginfo_rss( 'description' ); ?></description>
替换为:
<description><?php echo esc_html( get_the_content_feed('rss2') ); ?></description>
get_the_content_feed('rss2'):获取当前页面的内容,并适配RSS2格式的输出规范esc_html():转义HTML字符,避免破坏RSS的XML结构导致订阅失败
更安全的钩子实现(推荐)
在主题的functions.php文件中添加以下代码,无需修改核心文件,且不受版本更新影响:
add_filter('rss_description', 'custom_rss_page_description'); function custom_rss_page_description($description) { global $post; // 仅针对页面的RSS输出替换内容 if (is_page()) { $description = esc_html( get_the_content_feed('rss2') ); } return $description; }
这段代码通过钩子拦截RSS的description内容,仅当输出页面的RSS时,替换成页面的内容,不干扰文章的RSS正常输出。
内容的提问来源于stack exchange,提问作者Tim Dickinson
相关产品推荐
相关产品推荐

