load-(plugin_page)
Срабатывает при загрузке страницы админки плагина (используется редко).
Позволяет выполнять определённые действия в момент загрузки конкретной страницы настроек плагина в админке WordPress.
(plugin_page) в имени хука нужно заменить на конкретное значение идентификатора страницы, например load-myplugin.
(plugin_page) — это ярлык текущей админ-страницы плагина — значение параметра $_GET['page']. Это значение параметра $menu_slug из add_menu_page() / add_submenu_page().
Обычно вместо этого хука вам нужен другой хук — load-(page_hook) для страниц плагинов, созданных через add_menu_page() или add_submenu_page().
Этот хук сработает вместо load-(page_hook), только если $page_hook не будет определён — функция get_plugin_page_hook() вернёт ложное значение:
$page_hook = get_plugin_page_hook( $_GET['page'], $pagenow ); // или $page_hook = get_plugin_page_hook( $_GET['page'], $_GET['page'] );
Про аналогичный хук load-(pagenow).
Этот хук используется в редких случаях для страниц плагинов. Но, если текущая страница админки — это страница ядра (а не кастомная), то на такой странице этот хук не сработает, а сработает аналогичный хук load-(pagenow), где $pagenow — глобальная переменная, хранящая название текущего PHP-файла, например: 'post-new.php', 'admin.php'.
Использование
add_action( 'load-(plugin_page)', 'wp_kama_load_plugin_page_action' );
/**
* Function for `load-(plugin_page)` action-hook.
*
* @return void
*/
function wp_kama_load_plugin_page_action(){
// action...
}
Примеры
#1 Подключение скриптов только на странице настроек плагина
Этот пример подключает JavaScript файл только на странице плагина.
add_action( 'load-myplugin', 'my_plugin_admin_assets' );
function my_plugin_admin_assets() {
add_action( 'admin_enqueue_scripts', function() {
wp_enqueue_script( 'my-plugin-js', plugin_dir_url( __FILE__ ) . 'assets/admin.js', [], '1.0', true );
} );
}Список изменений
| С версии 1.5.0 | Введена. |
Где вызывается хук
do_action( "load-{$plugin_page}" ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores
Где используется хук в WordPress
add_action( 'load-plugins.php', 'wp_plugin_update_rows', 20 ); // After wp_update_plugins() is called.
add_action( 'load-themes.php', 'wp_theme_update_rows', 20 ); // After wp_update_themes() is called.
add_action( "load-{$page}", array( $this, 'admin_load' ) );
add_action( "load-{$page}", array( $this, 'take_action' ), 49 );
add_action( "load-{$page}", array( $this, 'handle_upload' ), 49 );
add_action( 'load-post.php', 'wp_set_up_cross_origin_isolation' );
add_action( 'load-post-new.php', 'wp_set_up_cross_origin_isolation' );
add_action( 'load-site-editor.php', 'wp_set_up_cross_origin_isolation' );
add_action( 'load-widgets.php', 'wp_set_up_cross_origin_isolation' );
add_action( 'load-plugins.php', 'wp_update_plugins' );
add_action( 'load-update.php', 'wp_update_plugins' );
add_action( 'load-update-core.php', 'wp_update_plugins' );
add_action( 'load-themes.php', 'wp_update_themes' );
add_action( 'load-update.php', 'wp_update_themes' );
add_action( 'load-update-core.php', 'wp_update_themes' );