在自定义管理子菜单页面上加载样式表

时间:2015-08-29 作者:charlenemasters

我正在尝试加载特定管理子菜单页的样式表。下面的代码是我查找后得到的admin_enqueue_scripts 在法典中:

function my_function($hook) {
    if ( \'themes.php?page=page-name\' != $hook ) {
        return;
    }
    wp_enqueue_style( \'custom-style\', get_template_directory_uri() . \'custom-page/style.css\' );
}
add_action( \'admin_enqueue_scripts\', \'my_function\' );
正如你所看到的,我正在尝试将其加载到子菜单页上。不仅仅是主题。php”,但在我创建的名为“页面名称”的自定义页面上。该代码在以下情况下有效\'themes.php\' != $hook 并加载“主题”。php’。\'themes.php?page=page-name\' != $hook 但是,不会加载“主题”。php?页面=页面名称\'。

你知道怎么做吗?提前感谢!

编辑:这是页面的声明方式

function my_function_settings_page_init() {
    $theme_data = wp_get_theme();
    $settings_page = add_theme_page( $theme_data->get( \'Name\' ). \' About\', $theme_data->get( \'Name\' ). \' About\', \'edit_theme_options\', \'page-name\', \'my_function_settings_page\' );
    add_action( "load-{$settings_page}", \'my_function_load_settings_page\' );
}

function my_function_load_settings_page() {
    $_POST["my-function-settings-submit"] = \'\';
    if ( $_POST["my-function-settings-submit"] == \'Y\' ) {
        check_admin_referer( "my-function-settings-page" );
        my_function_save_theme_settings();
        $url_parameters = isset($_GET[\'tab\'])? \'updated=true&tab=\'.$_GET[\'tab\'] : \'updated=true\';
        wp_redirect(admin_url(\'themes.php?page=page-name&\'.$url_parameters));
    exit;
    }
}

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

好吧,我想出来了:如果是子菜单页$hook 如下所示:appearance_page_page-name 而不是通过URL。因此,完整的代码如下:

function my_function($hook) {
    if ( \'appearance_page_page-name\' != $hook ) {
        return;
    }
    wp_enqueue_style( \'custom-style\', get_template_directory_uri() . \'custom-page/style.css\' );
}
add_action( \'admin_enqueue_scripts\', \'my_function\' );

SO网友:mmm

如果您已使用add_theme_page(..., 您可以在挂钩中添加样式表load-appearance_page_page-nameadmin_print_styles-appearance_page_page-name.

作为参考,这些是一些在加载页面时触发的钩子(它不是整个列表,但对您的问题来说是最有趣的)

plugins_loaded
init
admin_init
current_screen
load-appearance_page_page-name
admin_enqueue_scripts
admin_print_styles-appearance_page_page-name
admin_print_styles
admin_print_scripts-appearance_page_page-name
admin_print_scripts
wp_print_scripts
admin_head-appearance_page_page-name
admin_head
admin_notices
all_admin_notices
appearance_page_page-name
in_admin_footer
admin_footer-appearance_page_page-name
它们按其附加的顺序排列

相关推荐

WP-ADMIN:“对不起,您不能访问此页面。”

两周后不使用我们的WP站点,登录/wp-admin/ 出现白屏错误:抱歉,不允许您访问此页面。我有:重命名plugins 到plugins.temp.通过phpMyAdmin创建了一个新的管理员用户。新用户已user_meta 的作用a:1:{s:13:"administrator";s:1:"1";}.</已重命名themes 到themes.temp.</删除核心WordPress文件,并替换为新上载的文件</已替换.htaccess 使用默认