WordPress将HTML代码转换为HTML实体

时间:2018-03-01 作者:Dawn

我创建了一个新的wordpress页面,并将其添加到文本选项卡(而不是视觉选项卡。视觉选项卡已禁用):

<div></div>
单击“发布”时,代码变成:

&lt;div&gt;&lt;/div&gt;
我如何阻止它那样做??该网站像文本一样显示代码,而不是HTML,因此您可以看到“&lt;div&gt;&lt;/div&gt;“在页面上。我甚至尝试将替换脚本添加到functions.php文件中,但没有成功:

function my_content_filter( $content ) {
    $new_content = str_replace(\'&gt;\',\'>\',$content);
    return $new_content;
}
add_filter( \'the_content\', \'my_content_filter\', 1 );
我还应该注意到,我曾尝试使用一个短代码/代码片段插件将HTML添加到页面中,但它仍然带有实体代码。

1 个回复
最合适的回答,由SO网友:Xhynk 整理而成

我99%确定你正在编辑Visual 选项卡,需要在中添加HTMLText 选项卡。切换到右上角的文本选项卡,并将HTML代码粘贴到其中

如果出于某种疯狂的原因,在文本选项卡上出现这种情况,请禁用所有插件和主题,并确保不是它们中的一个导致了这种情况。

如果它仍然在发生,请与您保持和平,并将其添加到您的功能中:

function dawn_content_filter( $content ) {
    return html_entity_decode( $content );
}
add_filter( \'the_content\', \'dawn_content_filter\', 1 );
对于编辑器,可以使用此函数转换编辑器中显示的内容。请记住,这将阻止您在站点上显示代码示例,因为它会将html实体转换为可解析的html代码。我仍然建议检查插件/主题问题,以确保问题不存在。

function dawn_editor_filter( $content ) {
    return html_entity_decode( $content );
}
add_filter( \'the_editor_content\', \'dawn_editor_filter\', 1 );

结束