add_action的问题

时间:2012-06-12 11:28:18

标签: php wordpress

我正在尝试在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函数之外。

2 个答案:

答案 0 :(得分:1)

  1. 你正在以错误的方式包含JS enqueue它 - &gt; http://codex.wordpress.org/Function_Reference/wp_enqueue_script
  2. 您的第一个add_action转到admin_head,您需要使用admin_init
  3. 关于入队的教程 http://halfelf.org/2012/jquery-why-u-no-enqueued/

答案 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 );

}