我正在尝试加载特定管理子菜单页的样式表。下面的代码是我查找后得到的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;
}
}
最合适的回答,由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\' );