• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar a la barra lateral principal

DecodeCMS

Tu WordPress a otro Nivel ...

  • Acerca de
  • Contacto
  • Inicio
  • Tutoriales
    • Themes
    • Plugins
    • Core
    • Recursos
  • Cursos
  • Acceder
    • Mis cursos
    • Mi Cuenta
    • Acceder
Inicio / Tutoriales / Core / Mostrar notificaciones por usuario en la administración de WordPress

Mostrar notificaciones por usuario en la administración de WordPress

[ 28 noviembre 2022 ] [ Autor: Jhon Marreros Guzmán ][ Core - Intermedio] [ ]

dashboard funcionalidad

Suscríbete a DecodeCMS:  

¿Te gustaría mostrar mensajes personalizadas para los usuarios de tu sitio?. En este artículo veremos cómo mostrar notificaciones por usuario cuando se conectan a la administración de WordPress.

 

Resultado Final

Al final lo que queremos obtener es algo similar a lo que se muestra en la siguiente imagen. Cuando un usuario que tiene algún mensaje asignado por el administrador, se le mostrará como notificación en el backend de WordPress.

Resultado final mensaje personalizado usuario

 

Código para crear un campo adicional en el perfil de usuario

Primero necesitamos un campo por usuario para que el administrador ingrese el mensaje, nos basaremos en el artículo de agregar campos adicionales al perfil de usuario.

La única modificaciones es que restringiremos este campo para que sólo los administradores puedan verlo cuando editan un perfil de usuario.
Recuerda que puedes agregar código PHP en el archivo functions.php de tu tema hijo o usuando algún plugin de Snippets.

<?php //No copiar este línea

// Add fields to the section
add_action( 'show_user_profile', 'dcms_field_message_user' );
add_action( 'edit_user_profile', 'dcms_field_message_user' );
 
function dcms_field_message_user( $user ) {
	// Validate administrator user
	if ( ! current_user_can( 'manage_options' ) ) return;
?>
    <h3><?php _e('User Alert'); ?></h3>
    
    <table class="form-table">
        <tr>
            <th>
                <label for="message"><?php _e('Message'); ?></label>
            </th>
            <td>
                <input type="text" name="message" id="message" class="regular-text"
                	value="<?php echo esc_attr( get_the_author_meta( 'message_user', $user->ID ) ); ?>" />
                <p class="description"><?php _e('Add a custom message for the backend user'); ?></p>
            </td>
        </tr>
    </table>
<?php }

// Save user fields
add_action( 'personal_options_update', 'dcms_save_field_message_user' );
add_action( 'edit_user_profile_update', 'dcms_save_field_message_user' );

function dcms_save_field_message_user( $user_id ) {
	
    if ( !current_user_can( 'edit_user', $user_id ) ) {
        return false;
    }

    if( isset($_POST['message']) ) {
        $message = sanitize_text_field($_POST['message']);
        update_user_meta( $user_id, 'message_user', $message );
    }
}

 
Tras ingresar este código veremos que al editar un usuario aparecerá una nueva sección, tal como se muestra en la imagen:

Campo adicional perfil de usuario

 

Código para mostrar la notificación

Para mostrar el mensaje, ingresado anteriormente por un administrador, cuando un usuario particular esta en el área de administración, nos basaremos en el artículo mostrar mensajes en la administración de WordPress.


<?php //No copiar este línea

add_action( 'admin_notices', 'dcms_show_message_user' );
function dcms_show_message_user() {
	$message = get_the_author_meta( 'message_user', get_current_user_id() );
	if ( ! $message ) return;
    ?>
    <div id="message" class="notice notice-warning">
		<p>👉🏽 <strong>Mensaje Administrador: </strong> <?= $message ?></p>
	</div>
    <?php
}

 
En el código anterior:

  • Usamos el Hook admin_notices que hace referencia a la función dcms_show_message_user
  • Dentro de esta función obtenemos el ID del usuario actual y comprobamos si tiene un mensaje, recuperando de la metadata de usuario
  • Si tiene mensaje entonces mostramos el código HTML de la notificación

 

Conclusión

Como has podido comprobar, puedes mostrar un mensaje personalizado a un usuario en particular y este lo verá cuando ingrese a la sección de administración del sitio. En este artículo hemos visto cómo realizarlo directamente a través de código.

 

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

Artículos Relacionados

  • Mostrar mensajes en la administración de WordPress y en GutenbergMostrar mensajes en la administración de WordPress y en Gutenberg
  • Agregar campos adicionales al perfil de usuarioAgregar campos adicionales al perfil de usuario
  • Heartbeat API de WordPress, aprende a configurarlaHeartbeat API de WordPress, aprende a configurarla
  • Mostrar / ocultar bloques Gutenberg para usuarios registrados o visitantesMostrar / ocultar bloques Gutenberg para usuarios registrados o visitantes
Valora este artículo : 1 barra2 barras3 barras4 barras5 barras (2 votos, promedio: 5,00 de 5)
Cargando...

Interacciones con los lectores

Comentarios

  1. Jean Barreau

    23 febrero, 2023

    Hola Jhon, Enhorabuena por tu Gran Trabajo, Fantástico y muy Útil.
    Un Cordial Saludo y cuídate mucho!.

    • Jhon Marreros Guzmán

      23 febrero, 2023

      Gracias Jean. Saludos.

Para escribir código envolver con: <pre class="language-xxx"><code> </code></pre> ,reemplaza las xxx (php, css, html)

*

* Gravatar habilitado

Barra lateral principal

Curso Decodifica WordPress

Únete a DecodeCMS

Recibirás como regalo:

Guia práctica con video:
¿Quieres agregar código a WordPress? Revisa las diferentes opciones que tienes.Ver más

Omnisend
Alojamiento Wordpress

Niveles

Básico Intermedio Avanzado

Etiquetas

accesibilidad css dashboard editor error funcionalidad herramientas imagen js librería mejoras optimización seguridad SEO social woocommerce

Populares

Datos estructurados para preguntas frecuentes con Yoast SEO

Cómo usar la cache de objetos en WordPress

Formulario de cotización en WooCommerce sin plugins

Eliminar campo URL de los comentarios de WordPress

© logo decode pie
Política de Privacidad | Política de devoluciones
Copyrigth 2026 Todos los derechos reservados