¿Te has preguntado cómo hacer para mostrar información en el tablero de inicio o dashboard de WordPress?, en este artículo te explico cómo realizarlo de manera sencilla, creando un Widget para el dashboard de WordPress.
1- Creamos el Plugin
De antemano debemos tener un plugin creado, este plugin tendrá la funcionalidad de Widget para el Dashboard. En el siguiente código se muestra un ejemplo de metadata para nuestro plugin:
/*
Plugin Name: Mi Dashboard Widget
Plugin URI: https://decodecms.com
Description: Ejemplo para mostrar un dashboard Widget
Version: 1.0
Author: Jhon Marreros Guzmán
Author https://decodecms.com
License: GPLv2 or later
*/
Este código lo colocaremos en un archivo dentro de la carpeta plugins de nuestro WordPress, no olvidar activar el plugin.
2- Mostar contenido en el Widget
Luego de tener un plugin activo, entonces empezaremos a codificar, para esto usaremos el siguiente código:
//Accion Hook
add_action('wp_dashboard_setup','dcms_agregar_widget');
//Agregar Widget
function dcms_agregar_widget(){
wp_add_dashboard_widget('id_mi_widget','Mi Widget de Ejemplo','dcms_mostrar_widget');
}
//Mostrar Widget
function dcms_mostrar_widget(){
echo "Hola desde mi nuevo Widget";
}
En el código anterior:
- Definimos el Action Hook, en este caso será
wp_dashboard_setup
y la función de entrada. - La función de entrada
dcms_agregar_widget
usa la función de WordPresswp_add_dashboard_widget
- En la función
wp_add_dashboard_widget
estamos usando los primeros tres parámetros, el ID, el título y el nombre de la función usada para mostrar contenido. - La función para mostrar contenido es
dcms_mostrar_widget
y en esta función se mostrará el contenido del Widget.
Con el código anterior aplicado, si nos dirigimos a la pantalla de inicio del dashboard de WordPress veremos algo similar a la siguiente imagen:

3- Opción de Configuración en el Widget
Para usar la opción de configuración para el Widget del dashboard de WordPress, necesitamos definir un parámetro adicional a la función wp_add_dashboard_widget, en el siguiente código se muestra la modificación a la función y la función agregada
//Agregar Widget Modificado
function dcms_agregar_widget(){
wp_add_dashboard_widget('id_mi_widget','Mi Widget de Ejemplo','dcms_mostrar_widget','dcms_configurar_widget');
}
//Configurar Widget
function dcms_configurar_widget()
{
if ( isset($_POST['dcms_texto']) )
{
$dcms_texto = $_POST['dcms_texto'];
update_option('dcms_text_bd', $dcms_texto);
}
$dcms_texto = get_option('dcms_text_bd');
?>
<label> Ingrese texto :
<input type="text" name="dcms_texto" id="dcms_texto" value="<? echo $dcms_texto; ?>" />
</label> <?php
}
En el código anterior:
- Se agregó el parámetro adicional, la función
dcms_configurar_widget
. - La función
dcms_configurar_widget
permite almacenar un valor dentro de un campo de texto. - Para almacenar y recuperar el valor en la base de datos se usan las funciones de WordPress
update_option
yget_option
, respectivamente.
Aplicando el código anterior veremos el siguiente Widget con su pantalla de configuración:

4- Conclusión
Siguiendo las pautas indicadas anteriormente hemos visto cómo realizar un Widget para el Dashboard de WordPress que puede servir de base para utilizar nuestro propio contenido, ya sea contenido estático o contenido externo proporcionado por alguna API.
El código completo del plugin se puede descargar desde: Widget base dashboard WordPress
¿Aún con dudas?, en el siguiente vídeo se detalla cada uno de los puntos anteriores.
Hola Jhon, he seguido tu artículo, sin embargo me pregunto, cómo hago para mostrar luego los datos almacene en la base de datos en otra área del sitio Web, ¿tendrás una entrada donde lo expliques? Gracias.
Hola, supongo que te refieres al dashboard y no al front-end, tendrías que detallar en qué área quieres mostrar datos adicionales,
Creo que lo que se refiere es que por ejemplo quieres mostrar los hits en paginas o presentar analyticos …
¿Saludos,
Como puedo poner que este widget sea el primero de la lista?
Gracias
Hola, revisa la sintaxis de la función para agregar un Widget, hay un parámetro de prioridad que puedes probar: https://developer.wordpress.org/reference/functions/wp_add_dashboard_widget/ . Saludos.
Hola Jhon, lo primero enhorabuena por tú gran trabajo y aportación de conocimientos, me gustaría poder incluir los widgets personalizados para cada cliente o usuario, pero me pierdo bastante, podrías orientarme o si hay algún tutorial?. Gracias por adelantado.
Hola, quieres widgets diferentes por cada usuario?, o quieres un widget pero que muestre diferente información por usuario?
Hola Jhon, aclarar que me refiero al, 3- Opción de Configuración en el Widget, para cada cliente / usuario y así facilitar distinta información. Muchas Gracias por adelantado.
Hola, entiendo, en este caso tendríamos que guardar un mensaje por usuario en la BD de esta forma mostrar el mensaje correcto cuando el usuario esta conectado. También podríamos obtener el mensaje por usuario desde una API externa. Evaluaré hacer un artículo sobre esto.
Hola Jhon, guardar un mensaje por usuario en la BD y mostrar el mensaje correcto cuando el usuario está conectado, es lo que estaba buscando, Muchas Gracias una vez más.
Hola Jhon, espero y deseo estés bien, me gustaría saber como llevas este asunto sobre definir los mensajes “para cada usuario en la BD de esta forma mostrar el mensaje correcto cuando el usuario está conectado”, propuesto hace algún tiempo? Muchas Gracias y cuidese mucho.
Hola Jean, si lo estuve evaluando, para agregar el mensaje por usuario sería en su perfil, tal como se comenta en: https://decodecms.com/agregar-campos-adicionales-al-perfil-de-usuario/ , luego ya sólo sería mostrar el mensaje en el widget o si se quiere que este visible todo el tiempo, sería con: https://decodecms.com/mostrar-mensajes-en-la-administracion-de-wordpress-y-en-gutenberg/ . Voy a ver si hago un artículo para mostrar un mensaje personalizado al usuario, pero aún no defino como mostrarlo.
Hola Jean.
He creado un artículo relacionado con la idea que me diste: https://decodecms.com/mostrar-notificaciones-por-usuario-en-la-administracion-de-wordpress/ , espero te pueda servir. Saludos.
Hola Jhon, no he podido responder antes, Enhorabuena y Muchas Gracias por tu trabajo, inmejorable, era lo que estaba buscando. Insisto Muchas Gracias por tu gran aportación.
Un Cordial Saludo y Cuídate Mucho!
Gracias Jean, que bueno que te fué de utilidad.