Skip to content

Instantly share code, notes, and snippets.

@PCianes
Last active January 11, 2019 08:22
Show Gist options
  • Save PCianes/bd3148ee2c01fe4a542f3e46b56c139b to your computer and use it in GitHub Desktop.
Save PCianes/bd3148ee2c01fe4a542f3e46b56c139b to your computer and use it in GitHub Desktop.
Admin notices (avisos panel administración)
<?php
/**
* Some example snippets for the control of notices in WordPress admin panel
*
* @package PCianes\AdminUtilities
* @since 1.0.0
* @author PCianes
* @license GNU General Public License 2.0+
*/
namespace PCianes\AdminUtilities;
/**
* Add condicional notice in admin (example)
*
* @since 1.0.0
*
* @return void
*/
function add_admin_notice(){
$admin_page_with_notice = 'index.php';
$user_role_for_notice = 'administrator';
global $pagenow;
if ( !($pagenow == $admin_page_with_notice) ) {
return;
}
$current_user = wp_get_current_user();
if ( !in_array( $user_role_for_notice , (array) $current_user->roles ) ) {
return;
}
printf('<div class="notice notice-info is-dismissible">
<p>Click on <a href="edit.php">Posts</a> to start writing.</p>
<h1>HELLO WORLD!! This page is %s and you are %s</h1>
</div>',
$admin_page_with_notice, $user_role_for_notice);
}
add_action('admin_notices', __NAMESPACE__ . '\add_admin_notice', 11);
/**
* Delete all admin notices except for one user_ID
*
* @since 1.0.0
*
* @return void
*/
function delete_all_admin_notices() {
$admin_user_ID_with_notices = '1';
$user_role_for_notices = 'administrator';
$current_user = wp_get_current_user();
$current_user_data = $current_user->data;
if ( in_array( $user_role_for_notices, (array) $current_user->roles )
&& $current_user_data->ID == $admin_user_ID_with_notices ) {
return;
}
remove_all_filters( 'admin_notices');
}
add_action('admin_init', __NAMESPACE__ . '\delete_all_admin_notices', 999);
@PCianes
Copy link
Author

PCianes commented Jun 29, 2017

Genial David! Ya lo he cambiado y me convence mucho más así. ¡gracias por tu ayuda!

@planetahuevo
Copy link

He editado el código de arriba con las modificaciones. :) Gracias!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment