从HTML切换到可视(TinyMCE)时停止WordPress删除<SCRIPT>标记

时间:2012-10-02 作者:pixelkicks

好吧,我已经看到了解决这个问题的半途而废的解决方案,但没有什么确定的,也没有什么能够百分之百解决我的问题。

场景:

在HTML模式下,我向正在编辑的帖子添加了一些javascript

请帮忙!

3 个回复
最合适的回答,由SO网友:Tom J Nowell 整理而成

将JS添加到内容是very, very bad practice, 这只是要求hacked.

通过一个短代码添加,或者如果确实必须添加,则使用post meta/自定义字段存储js,并在模板中的内容之后使用echo get_post_meta($post->ID,\'post_javascript\',true );

SO网友:Tom Auger

通过授予unfiltered_html 支持您感兴趣的任何角色,允许使用脚本和IFRAME标记。很明显,正如其他人所提到的,存在固有的安全风险,因此要明智。

要了解有关授予功能的更多信息,请参阅The WordPress Codex entry on add_cap().

SO网友:Guss

无需使用模板PHP代码,您就可以解决OP问题,以及在多站点上除了超级管理员之外没有人可以获得unfiltered_html @Tom Auger提到的能力-通过安装“Shortcoder插件-它允许您创建“自定义短代码”,只需呈现一些文本。这可以是任何内容,包括Javascript。

我为我需要的每段代码创建一个“自定义短代码”(通常为每个页面的不同自定义代码创建一个),然后可视化编辑器会看到该短代码,而不会删除它。

如果您有多个页面需要相同(或类似)的代码,那么它对于Javascript代码的重用也很有用。

结束

相关推荐

如何禁用插件添加的tinyMCE按钮?

我知道如何禁用TinyMCE 默认按钮add_filter(\'tiny_mce_before_init\') 使用theme_advanced_disable 参数,但第三方插件添加的按钮似乎无法隐藏tiny_mce_before_init可用阵列add_filter(\'mce_buttons\') 仅返回默认的tinyMCE按钮。如何禁用此tinyMCE按钮?