如何在admin中仅在新.php和post.php页面上加载js?

时间:2013-04-25 作者:dcp3450

我有一些脚本,正在加载的管理。我只需要将其加载到新帖子和编辑帖子屏幕上。

最好的方法是什么?

2 个回复
最合适的回答,由SO网友:tfrommen 整理而成

检查页面并相应地将脚本排队:

global $pagenow;
if (! empty($pagenow) && (\'post-new.php\' === $pagenow || \'post.php\' === $pagenow ))
    add_action(\'admin_enqueue_scripts\', \'enqueue_my_scripts\');

function enqueue_my_scripts() {
    wp_enqueue_script(...);
} // function enqueue_my_scripts

SO网友:fuxia

全局变量$hook_suffix 是:

  • post-new.php 对于新职位和post.php 对于中的常规post编辑器wp-admin/admin-header.php 有一些特殊的挂钩:

    do_action(\'admin_enqueue_scripts\', $hook_suffix);
    do_action("admin_print_styles-$hook_suffix");
    do_action(\'admin_print_styles\');
    do_action("admin_print_scripts-$hook_suffix");
    do_action(\'admin_print_scripts\');
    do_action("admin_head-$hook_suffix");
    do_action(\'admin_head\');
    
    所以你可以使用admin_print_styles-$hook_suffix, 在您的情况下:

    add_action( \'admin_print_scripts-post-new.php\', \'your_prefix_enqueue_scripts\' );
    add_action( \'admin_print_scripts-post.php\',     \'your_prefix_enqueue_scripts\' );
    
    找到正确的$hook_suffix 对于任何管理页面,请使用以下内容:

    add_action( \'admin_footer\', \'print_hook_suffix\' );
    
    function print_hook_suffix()
    {
        global $hook_suffix;
    
        print \'$hook_suffix: \' . $hook_suffix;
    }
    

结束