在Wordpress插件中加载自定义JavaScript

时间:2013-10-06 20:32:07

标签: javascript php jquery wordpress

好的,这让我疯了:

我正在尝试构建一个简单的Wordpress插件,我正在尝试确保js与php分开。我已经完成了手抄本和各种教程,但要么他们都在做假设,要么我只是一个白痴,因为它不起作用......基本上,我最终希望使用ajax添加一些行来定制我添加帖子时的表格,但首先我要让这个Hello World在添加帖子页面上工作......

当然这很简单:

这是myplug / js / myplugin.js中的javascript:

jQuery(document).ready(function(){
    alert("dothis");
});

这是插件中的版本(但很糟糕):

function admin_load_js(){
    echo '<script type="text/javascript" src="http://www.mysite.com/wp-content/plugins/myplugin/js/myplugin.js"></script>';
}
add_action('admin_head', 'admin_load_js');

这稍微好一些,但不起作用(jQuery未定义):

function admin_load_js(){
    echo '<script type="text/javascript" src="http://www.mysite.com/wp-content/plugins/myplugin/js/myplugin.js"></script>';
}
add_action('admin_enqueue_scripts', 'admin_load_js');

这就是我认为应该这样做的方式,但根本不起作用只是没有做任何事情:

function admin_load_js(){
 wp_register_script( 'custom_js', plugins_url( '/js/myplugin.js', __FILE__ ) );
}
add_action('admin_enqueue_scripts', 'admin_load_js');

有人可以在这里给我一个线索吗?即使谷歌目前也不是我的朋友。也许因为已经很晚了,我不知道......

1 个答案:

答案 0 :(得分:8)

试试这个:

function admin_load_js(){
    wp_enqueue_script( 'custom_js', plugins_url( '/js/myplugin.js', __FILE__ ), array('jquery') );
}
add_action('admin_enqueue_scripts', 'admin_load_js');

wp_register_script只是注册脚本。您仍需要手动加载脚本。

或者您可以使用wp_enqueue_script同时完成所有操作。使用wp_enqueue_script,您可以指定依赖项(在本例中为“jquery”),以便在脚本之前加载它们。