1

我想要的只是将我的自定义 javascript 添加到我的插件主页。

这是我所做的:

1.首先注册我的脚本,

function register_my_plugin_script() {
        /* Register our script. */
        wp_register_script( 'my-plugin-script', plugins_url('/script.js', __FILE__), array('jquery'));
    }
add_action( 'admin_init', 'register_my_plugin_script' );

2.然后打电话给它,

function call_my_script(){
  wp_enqueue_script( 'my-plugin-script' );
}

3.然后尝试只在我的主页中调用它,如下所示:

function my_home_page(){
   add_action('admin_enqueue_scripts', 'call_my_script');
}

但它没有添加脚本。

添加菜单页面的进一步代码:

function my_menu_pages(){
  add_menu_page('some title', 'some menu', 'manage_options', 'my-plugin-homepage', 'my_home_page');
}
add_action('admin_menu', 'my_menu_pages');

注意: 如果我直接在函数中包含我的脚本my_home_page而不像这样注册或调用,那么它可以工作。

function my_home_page(){
   wp_enqueue_script( 'my-plugin-script', plugins_url('/script.js', __FILE__), array('jquery'));
}

做这个的最好方式是什么?

4

1 回答 1

1

管理区域中的插件页面有一个挂钩 - 但可能很难准确计算出它的名称。

先试试这个:

add_action('admin_enqueue_scripts', 'my_plugin_enqueue_scripts' );
function my_plugin_enqueue_scripts($hook) 
{
    echo "<!-- Hook = {$hook} -->" . PHP_EOL;
}

...然后访问管理区域中的插件页面并查看 HTML 源代码以查找该变量的输出。或者,设置断点并在调试器中查看它。

找到挂钩名称后,您可以在插件代码中执行以下操作:

add_action('admin_enqueue_scripts', 'my_plugin_enqueue_scripts' );
function my_plugin_enqueue_scripts($hook) 
{
    if ($hook == 'my_plugin_page_hook-location')
    {
        wp_register_script(...);
        wp_enqueue_script(...);

        wp_register_style(...);
        wp_enqueue_style(...);      
    }
}
于 2013-03-14T10:36:24.117 回答