Manipulated shortcode output

时间:2014-01-03 作者:Darko Romanov

我开发的一个注册短代码的插件有问题。短代码返回一个包含有效HTML的字符串,但一些主题似乎操纵了短代码返回的HTML,我真的不明白原因是什么。

例如,这是我的短代码的正确输出:

<div class="tile">
<a>
    <img src="0.jpg" />
    <div class="caption">
        <p>Kate</p>
    </div>
</a>
</div>
这是我得到的一些主题的输出:

<div class="tile">
<a>
    <img src="0.jpg" />
    <div class="caption">
        <p>Kate</p>
    </div>
</a>
</div>
<p></p></a></div>
正如您所看到的,在关闭“caption”DIV之后,有一些额外的标记。

也许这些主题应用了某种HTML验证/清理?

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

看起来你被一些wpautop() 替换。许多人都发现了已经失效的WordPresswpautop() 过滤器令人沮丧。在高度定制的主题中,往往会有一个本土的替代品。

例如,您提到的主题有一些默认WordPress过滤器的替换项。你可以在这里看到一条关于它的线索。。。http://kaptinlin.com/support/discussion/1835/disable-automatic-p-tags/p1

我唯一的建议是删除干净的格式(缩进、换行等),看看这是否有帮助。不要给过滤器任何要包装的东西。

结束

相关推荐

WP_Editor Shortcode Issue

我已经使用wp\\u编辑器创建了一个前端编辑器,它可以正常工作。在测试时,我注意到它正在剥离插入内容中的任何短代码。我研究了这个问题,发现正是“ob\\u”(输出缓冲)删除了它们。如果删除此输出缓冲,则短代码显示良好,但它破坏了我为编辑器创建的功能。如何保留下面使用的代码,但对其进行修改以确保显示所有短代码?非常感谢您的任何帮助/想法,S。if(!is_feed() && current_user_can( \'manage_network\' ) ) : functio