我正在尝试在wordpress中创建一个插件,并且只有在我查看菜单页面时才想在标签区域中包含一个JS脚本。
add_action('admin_menu', 'register_custom_menu_page');
function register_custom_menu_page() {
add_menu_page('Home', 'PCPAL', 'manage_options', 'pcpalmain', 'da_controller', '', 99);
}
function DA_controller()
{
add_action('admin_head', 'da_admin_head');
}
function da_admin_head()
{
echo "<script type='text/javascript' src='".plugins_url('js/pcpal.js', __FILE__)."'></script>";
}
如果我移动add_action('admin_head','da_admin_head'),则此脚本有效;在DA_function函数之外。
答案 0 :(得分:1)
enqueue
它 - &gt; http://codex.wordpress.org/Function_Reference/wp_enqueue_script
admin_head
,您需要使用admin_init
答案 1 :(得分:0)
你的代码有很多问题....让我帮你纠正它.... 这是你的代码
1. add_action('admin_menu', 'register_custom_menu_page');
2. function register_custom_menu_page() {
3. add_menu_page('Home', 'PCPAL', 'manage_options', 'pcpalmain', 'da_controller', '', 4. 99);
5. }
6. function DA_controller()
7. {
8. add_action('admin_head', 'da_admin_head');
9. }
10. function da_admin_head()
{
11. echo "<script type='text/javascript' src='".plugins_url('js/pcpal.js', __FILE__)."'></script>";
}
我添加了一些编号,以便我可以指出问题在哪里....
在第1行,您向admin_menu钩子添加了一个函数。在第3行,您添加了一个名为da_controller的函数,用于创建管理菜单。
但是一个6号你刚拼错了它。
好吧,我今天没有足够的时间......但是这个编辑过的代码现在必须工作....
add_action('admin_menu', 'register_custom_menu_page');
function register_custom_menu_page() {
add_menu_page('Home', 'PCPAL', 'manage_options', 'pcpalmain', 'da_controller', '', 99);
}
function da_controller()
{
wp_enqueue_script( 'pcpal', 'js_url', array(), '1.0.0', false );
}