Sometimes your plugin or theme needs to show a message in the WordPress admin area — maybe a success message after saving settings, or a warning if something is missing.
Here’s how I usually do it:
Keep it simple, clean, and native.
The Snippet
add_action( 'admin_notices', function() {
if ( ! current_user_can( 'manage_options' ) ) {
return;
}
echo '<div class="notice notice-success is-dismissible">';
echo '<p>Your custom admin notice goes here.</p>';
echo '</div>';
});How It Works
- Hooks into
admin_notices, which is used by WordPress to display messages at the top of admin screens. notice-successgives it a green success style. You can also use:notice-error(red)notice-warning(yellow)notice-info(blue)
is-dismissiblemakes it closable.- Always wrap with a capability check like
manage_optionsto avoid showing notices to users who don’t need to see them.
Bonus: Show it only on specific pages
You can limit where the notice appears like this:
if ( get_current_screen()->id === 'settings_page_my-plugin' ) {
// show notice
}I use this pattern in almost every plugin I write.
Clean admin messages go a long way in making your tools feel more polished and professional.