En el vasto universo de WordPress, la personalización y la interactividad son elementos clave para ofrecer experiencias digitales ricas y atractivas. Entre las numerosas herramientas que permiten a los usuarios dar vida a sus contenidos, los shortcodes destacan como una poderosa funcionalidad. En este contexto, nos sumergiremos en la comprensión de un shortcode particularmente útil: mostrar_perfil_usuario.
Este fragmento de código PHP desbloquea la capacidad de exhibir de manera rápida y sencilla el perfil del usuario actual en cualquier publicación o página de WordPress.
Si agregas el shortcode en una página de WordPress, cuando un usuario registrado acceda a esa página podrá ver su información de perfil como nombre, apellidos, biogafía, rol de usuario, gravatar, email, página web, etc. Si tuvieses campos personalizados también podrías mostrarlos. Échale un ojo a este artículo donde te muestro como agregar campos personalizados al perfil de usuario.

El siguiente código tienes que agregarlo en el functions.php de tu tema hijo o utilizar un plugin como CODE SNIPPETS.
// Función para mostrar el perfil del usuario mediante un shortcode
function mostrar_perfil_usuario_shortcode($atts) {
ob_start(); // Inicia el almacenamiento en búfer de salida
// Verifica si el usuario está autenticado
if (is_user_logged_in()) {
// Obtiene los datos del usuario actual
$current_user = wp_get_current_user();
// Mostrar la imagen de perfil
$profile_picture = get_avatar_url($current_user->ID, array('size' => 96));
echo '<p><img src="' . esc_url($profile_picture) . '" alt="Imagen de Perfil"></p>';
// Muestra los datos del usuario
echo '<p><strong>Nombre:</strong> ' . esc_html($current_user->first_name) . '</p>';
echo '<p><strong>Apellidos:</strong> ' . esc_html($current_user->last_name) . '</p>';
echo '<p><strong>Rol:</strong> ' . esc_html(implode(', ', $current_user->roles)) . '</p>';
echo '<p><strong>Página Web:</strong> ' . esc_url($current_user->user_url) . '</p>';
echo '<p><strong>Email:</strong> ' . esc_html($current_user->user_email) . '</p>';
echo '<p><strong>Biografía:</strong> ' . esc_html($current_user->description) . '</p>';
// Otros campos que desees mostrar
} else {
// Si el usuario no está autenticado, muestra un mensaje de inicio de sesión
echo '<p>Debes iniciar sesión para ver tu perfil.</p>';
}
return ob_get_clean(); // Devuelve el contenido almacenado en búfer de salida
}
// Registra el shortcode
add_shortcode('mostrar_perfil_usuario', 'mostrar_perfil_usuario_shortcode');
Lenguaje del código: PHP (php)
Este código en PHP se utiliza en el contexto de WordPress y tiene como objetivo crear un shortcode llamado mostrar_perfil_usuario. Un shortcode es una etiqueta corta que los usuarios pueden insertar en el contenido de una página o entrada de WordPress para ejecutar ciertas funciones o mostrar información específica.
Aquí está la explicación paso a paso del código:
- Definición de la función
mostrar_perfil_usuario_shortcode:- Esta función toma un parámetro
$atts(atributos), que permite pasar información adicional al shortcode, aunque en este caso no se está utilizando.
- Esta función toma un parámetro
ob_start():- Inicia el almacenamiento en búfer de salida. Esto significa que cualquier salida de texto o contenido generado dentro de la función no se enviará directamente al navegador, sino que se almacenará temporalmente en un búfer.
- Verificación de si el usuario está autenticado:
- Utiliza la función
is_user_logged_in()para verificar si el usuario actual está autenticado (ha iniciado sesión).
- Utiliza la función
- Mostrar información del usuario autenticado:
- Si el usuario está autenticado, obtiene los datos del usuario actual mediante
wp_get_current_user()y muestra diferentes detalles del perfil, como la imagen de perfil, nombre, apellidos, rol, página web, email y biografía. - La imagen de perfil se obtiene utilizando
get_avatar_url()y se muestra en un elemento<img>. - La función
esc_url()yesc_html()se utiliza para escapar y sanitizar las URL y texto, evitando así posibles problemas de seguridad.
- Si el usuario está autenticado, obtiene los datos del usuario actual mediante
- Mensaje para usuarios no autenticados:
- Si el usuario no está autenticado, se muestra un mensaje indicando que deben iniciar sesión para ver su perfil.
return ob_get_clean();:- Devuelve el contenido almacenado en el búfer de salida. Todo el contenido generado dentro de la función se recoge y devuelve cuando se llama a esta función, permitiendo que se use como salida del shortcode.
- Registro del shortcode:
- Utiliza
add_shortcodepara registrar el shortcodemostrar_perfil_usuario, de modo que los usuarios puedan usar[mostrar_perfil_usuario]en sus publicaciones o páginas para mostrar su perfil cuando estén autenticados.
- Utiliza
En resumen, este código crea un shortcode en WordPress que muestra el perfil del usuario actual (si está autenticado) con detalles como nombre, apellidos, rol, imagen de perfil, etc. Si el usuario no está autenticado, se mostrará un mensaje instándolos a iniciar sesión.
Nos vemos en el siguiente tutorial.
Un saludo.




Deja tus opiniones o dudas en los comentarios.