• 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

Mostrar notificaciones por usuario en la administración de wordpress

[ hace 2 meses ] [ Autor: Jhon Marreros Guzmán ][ Core - Intermedio] [ ]

dashboard funcionalidad

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

¿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.

 
¿Aún con dudas?, en el siguiente video se detallan los puntos anteriores.

Suscríbete a DecodeCMS:  

 

¿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
  • Nombre de la categoría en las clases del body de una entradaNombre de la categoría en las clases del body de una entrada
  • Mostrar lista de sub páginas en página padre en WordPressMostrar lista de sub páginas en página padre en WordPress
Valora este artículo : 1 barra2 barras3 barras4 barras5 barras (1 votos, promedio: 5,00 de 5)
Cargando...

Interacciones con los lectores

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

*

* Gravatar habilitado

Barra lateral principal

Presentación

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

Jooble
Alojamiento Wordpress

Niveles

Básico Intermedio Avanzado

Etiquetas

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

Populares

Agregar rel=0 a videos YouTube de manera automática en WordPress

Mostrar lista de sub páginas en página padre en WordPress

Ajax sin usar jQuery en WordPress

Activar el modo catálogo en WooCommerce

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