The load-{$pagenow} WordPress PHP action fires before a particular screen is loaded, making it useful for running custom code for specific admin screens.
Usage
add_action('load-{pagenow}', 'your_custom_function');
function your_custom_function() {
// Your custom code here
}
Parameters
- $pagenow (string) – The filename of the current admin screen (e.g., ‘admin.php’, ‘post-new.php’, etc.).
More information
See WordPress Developer Resources: load-{$pagenow}
Examples
Redirect users from the ‘post-new.php’ screen
Prevent users from accessing the ‘Add New Post’ screen and redirect them to the ‘All Posts’ screen.
add_action('load-post-new.php', 'redirect_to_all_posts');
function redirect_to_all_posts() {
wp_redirect(admin_url('edit.php'));
exit;
}
Add custom JavaScript to ‘post.php’ screen
Add a custom JavaScript file to the ‘Edit Post’ screen.
add_action('load-post.php', 'enqueue_custom_js');
function enqueue_custom_js() {
wp_enqueue_script('custom-js', plugins_url('custom.js', __FILE__));
}
Run a function on ‘themes.php’ screen
Execute a custom function when the ‘Themes’ screen is loaded.
add_action('load-themes.php', 'run_on_themes_screen');
function run_on_themes_screen() {
// Your custom code here
}
Display a custom message on ‘plugins.php’ screen
Show a custom admin notice on the ‘Plugins’ screen.
add_action('load-plugins.php', 'show_custom_message');
function show_custom_message() {
add_action('admin_notices', 'display_custom_message');
}
function display_custom_message() {
echo '<div class="notice notice-info is-dismissible"><p>Your custom message goes here.</p></div>';
}
Add custom CSS to ‘users.php’ screen
Add custom CSS to the ‘Users’ screen.
add_action('load-users.php', 'enqueue_custom_css');
function enqueue_custom_css() {
wp_enqueue_style('custom-css', plugins_url('custom.css', __FILE__));
}