为什么jQuery不能在这个wordpress插件中工作?

时间:2014-04-19 03:06:23

标签: jquery wordpress

我是Wordpress的新手。我有一个我创建的插件并且工作正常,除了当我尝试在包含的javascript文件中执行一个简单的jQuery ready函数时,它没有看到jQuery而且我得到一个未定义的错误。我在包含HTML文件内容之前就这样做了。

这是我用来加载脚本的代码(正好加载js文件)

add_action('admin_init', 'admin_references_scripts');
function admin_references_scripts() {
    //Add CSS Files
    wp_enqueue_style('admin-references-style', plugins_url('/css/admin-references.css', __FILE__ ));
    wp_enqueue_style('admin-references-craftmap', get_stylesheet_directory_uri().'/css/craftmap.css');

    //Add JS files
    wp_register_script('admin-references-js', plugins_url('/js/admin-references.js', __FILE__ ), array('jquery', 'jquery-ui-core', 'jquery-ui-draggable'));
    wp_enqueue_script('admin-references-js');

    //Add the panel to the post type
    add_meta_box('admin-references-control', 'Admin References', 'admin_references_meta', 'admin_references', 'advanced', 'high');
}

admin-references.js文件看起来就像这样

$(function() {
    alert('here');
});

以下是我的问题/问题

  1. 上面的wp_register_script调用应该自动确保jquery在那里吗?
  2. 我的插件中是否有其他地方我应该加载jQuery?
  3. 是否有可能其他插件正在杀死jquery?
  4. 我需要可拖动的jQuery UI功能。我可以用我正在做的事情得到这个吗?

1 个答案:

答案 0 :(得分:1)

/wp-admin/load-scripts.php是一个wp-admin调用,而不是前端调用。

您是尝试在wp-admin或前端(主题)中执行jQuery吗?

你是否检查过你在没有冲突模式下运行jQuery ..

又名,它应该是:

jQuery(function() { alert('here'); });