我正在编写一个包含小部件的新Wordpress插件。窗口小部件配置选项需要jQuery代码通过JSONP从第三方服务器获取它们,并附加事件,以便如果一个下拉列表更改,比如类别,它会动态更改另一个下拉列表的内容,例如子类别。
要实现此效果,我需要在窗口小部件管理面板中加载一些自定义JavaScript文件(在用户将窗口小部件拖放到管理面板中的相关侧边栏后显示的选项)。
这样做的正确方法是什么?我在我的插件类中尝试了以下代码,但它似乎没有加载文件:
class MyPlugin {
function __construct() {
add_action('admin_init', array(&$this, 'admin_init'));
add_action('admin_head', array(&$this, 'admin_load_scripts'));
}
function admin_init() {
wp_register_script('jsonp', 'js/jquery.jsonp-2.1.2.min.js', array('jquery'));
wp_register_script('my_utils', 'js/my-utils.js', array('jquery', 'jsonp'));
}
function admin_load_scripts() {
wp_enqueue_script('jsonp');
wp_enqueue_script('my_utils');
}
}
提前致谢!
答案 0 :(得分:1)
这可能是因为钩子admin_head
太迟而无法排队 - 请尝试使用load-widgets.php
(这也意味着您的脚本不会出现在每个管理页面上! )。
作为旁注,你不需要注册,然后入队 - 你可以在一个电话中同时做这两件事;
wp_enqueue_script('jsonp', 'js/jquery.jsonp-2.1.2.min.js', array('jquery'));
wp_enqueue_script('my_utils', 'js/my-utils.js', array('jquery', 'jsonp'));