好的,这让我疯了:
我正在尝试构建一个简单的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');
有人可以在这里给我一个线索吗?即使谷歌目前也不是我的朋友。也许因为已经很晚了,我不知道......
答案 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”),以便在脚本之前加载它们。