1

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

4

2 回答 2

1
  1. 您以错误的方式包含 JS enqueue->http://codex.wordpress.org/Function_Reference/wp_enqueue_script
  2. 您的第一个 add_action 转到admin_head您需要使用的admin_init

关于入队的教程
http://halfelf.org/2012/jquery-why-u-no-enqueued/

于 2012-06-12T12:09:40.017 回答
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 );

}
于 2014-03-31T19:19:50.447 回答