Загрузить таблицу стилей на странице пользовательского подменю

Я пытаюсь загрузить таблицу стилей для отдельной страницы подменю администратора. Код ниже – это то, что я придумал после поиска 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' ); 

Как вы можете видеть, я пытаюсь загрузить его на странице подменю. Не только на тему «topic.php», но и на пользовательской странице, которую я создал, называется «имя страницы». Код работает, если 'themes.php' != $hook и загружается на «themes.php». 'themes.php?page=page-name' != $hook однако не загружается на 'themes.php? page = page-name'.

Любая идея о том, как это сделать? Заранее спасибо!

EDIT: так объявляется страница

 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; } } 

Solutions Collecting From Web of "Загрузить таблицу стилей на странице пользовательского подменю"

Хорошо, я понял: если это страница подменю, $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' ); 

если вы объявили страницу с помощью add_theme_page(... , вы можете добавить таблицу стилей в admin_print_styles-appearance_page_page-name или admin_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 

они находятся в том порядке, в котором они добавляются