【发布时间】:2012-02-13 05:21:11
【问题描述】:
我有一个从我的 Wordpress 插件加载的 tinyMCE 插件(用于帖子/页面编辑器),它需要加载几个外部 javascript 文件才能使我的 tinyMCE 插件工作。
在 Wordpress 3.3.1 中,我可以从 mce_external_plugins 过滤器中注册脚本并将其排入队列,但任何低于此的 Wordpress 版本都不会加载脚本。
有人有这方面的经验吗?
【问题讨论】:
我有一个从我的 Wordpress 插件加载的 tinyMCE 插件(用于帖子/页面编辑器),它需要加载几个外部 javascript 文件才能使我的 tinyMCE 插件工作。
在 Wordpress 3.3.1 中,我可以从 mce_external_plugins 过滤器中注册脚本并将其排入队列,但任何低于此的 Wordpress 版本都不会加载脚本。
有人有这方面的经验吗?
【问题讨论】:
我发现解决我的问题的方法是挂钩到after_wp_tiny_mce,然后在回调中直接调用wp_print_scripts。它仍然处理脚本的所有依赖项。
另外,由于脚本未入队,wp_localize_script 将无法使用此方法,因此我将在调用 wp_print_scripts 的上方直接回显对象,如下所示:
<script type="text/javascript">
/* <![CDATA[ */
var MyLocalizedData = {"foo": "barito"};
/* ]]> */
</script>
编辑: 此修复仅适用于 Wordpress >= 3.2
【讨论】: