在我的插件中,我使用一些内联JavaScript呈现一个短代码。Wordpress似乎讨厌结束CDATA标记(]]>
), 当它逃避它时。我使用CDATA块来呈现格式良好的XHTML,这允许其他进程轻松地抓取页面内容(传统系统很糟糕,超出了这个问题的范围)。
是否有办法按预期输出结束的CDATA标记?
复制步骤下面是我的代码片段,删除了不重要的部分:
add_shortcode( \'foo\', array( $this, \'foo_code\' ) );
function foo_code( $a ) {
return "
<script>
//]]>
</script>";
}
预期输出
<script>
//]]>
</script>";
实际输出量
<script>
//]]>
</script>
其他信息我发现
<script>
标签正在触发转义。如果我将代码更改为
return "
//]]>
</script>";
It输出
//]]>
出于某种原因,它不会输出结束脚本标记(!)
JavaScript块中还有什么并不重要:]]>
标记总是转义的。
我试过了html_entity_decode()
在返回之前在字符串上,但这没有任何作用。
我在谷歌上搜索了Wordpress。组织论坛和StackExchange以获取解决方案(或任何类似问题),但尚未找到任何远程适用的解决方案。