javascript - 在 Wordpress 小部件管理面板中加载自定义 JavaScript 文件

标签 javascript jquery wordpress

我正在编写一个包含小部件的新 Wordpress 插件。小部件配置选项需要 jQuery 代码通过 JSONP 从第 3 方服务器获取它们,并附加事件,以便如果一个下拉列表发生变化,例如类别,它会动态更改另一个下拉列表的内容,例如子类别。

为实现此效果,我需要在小部件管理面板中加载一些自定义 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');  
    }

}

提前致谢!

最佳答案

这可能是因为 Hook admin_head 来不及排队 - 尝试使用 load-widgets.php 代替(这也意味着您的脚本不会出现在 < em>每个管理页面!)。

附带说明一下,您不需要先注册,然后再排队 - 您可以在一次调用中完成这两项操作;

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'));

关于javascript - 在 Wordpress 小部件管理面板中加载自定义 JavaScript 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4315171/

相关文章:

javascript - 达到 maxlength 值后聚焦下一个输入

javascript - s在 wordpress 中提交 ajax 数据时没有任何反应

php - 如何在wordpress woocommerce网站的正常价格的下一行写售价?

javascript - 如何通过单击按钮将表单发布到两个不同的页面?

javascript - 如何使表单动态自动完成

javascript - 按空格分割,但将换行符作为单独的实体

Wordpress - 如何添加自定义 500 服务器错误页面?

javascript - 在 HTML5 Canvas 上绘图 : how to draw at tip of mouse cursor

javascript - 清除间隔不起作用

javascript - 'mouseenter' 和 'mouseleave' 事件一直以 div 作为光标触发