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

WordPress文章<code>标签含特殊字符导致发布异常求助

解决WordPress中<code>标签含特殊字符导致页面显示“Nothing is Found Here”的问题

这问题我之前帮朋友排查过类似的,WordPress的内容过滤机制有时候对HTML实体+代码标签的组合会有奇怪的拦截,给你几个靠谱的解决办法:

1. 优先使用Gutenberg内置的代码块

别手动写<code>标签了,直接用WordPress编辑器(Gutenberg)自带的代码块:

  • 编辑文章时,点击添加块按钮(+),搜索“代码”并选择
  • 在代码块里直接输入<form>,编辑器会自动处理特殊字符的转义与渲染
  • 这种方式完全避开了手动标签的过滤冲突,还能让代码显示更美观(带语法高亮可选)

2. 用短代码替代手动转义的内容

如果一定要保留<code>标签的写法,可以通过自定义短代码来安全输出特殊字符:

  1. 打开主题的functions.php文件(建议用子主题,避免主题更新丢失修改)
  2. 添加以下代码:
function safe_display_form_tag() {
    // 用esc_html确保内容被安全转义
    return esc_html('<form>');
}
add_shortcode('safe_form_tag', 'safe_display_form_tag');
  1. 在文章内容里这样写:
    blablabla <code>[safe_form_tag]</code> blablabla
    发布后就能正确显示<form>,不会触发页面异常。

3. 调整内容过滤规则(谨慎使用)

如果上面两种方法都不符合你的需求,可以调整WordPress的HTML过滤规则,允许<code>标签内的特殊字符。但注意:这可能带来安全风险,仅在你信任所有发布内容的情况下使用:
在functions.php中添加:

function allow_special_chars_in_code($allowed_tags) {
    // 确保<code>标签被允许,并保留其属性
    $allowed_tags['code'] = array(
        'class' => array(),
        'style' => array()
    );
    return $allowed_tags;
}
add_filter('wp_kses_allowed_html', 'allow_special_chars_in_code', 10, 1);

为什么会出现这个问题?

WordPress的wp_kses函数会自动过滤文章中的HTML内容,防止恶意代码注入。当<code>标签里包含转义后的<form>实体(&lt;form&gt;)时,可能被误判为试图注入可执行的表单代码,从而触发内容拦截,导致页面因无有效内容显示而出现“Nothing is Found Here”。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:37:55