Si utilizas wordpress como gestor de contenido, tienda online, portfolio o cualquier otro tipo de web que tengas, te habrás dado cuenta que a medida que instalamos algún plugin en el «Escritorio» nos aparecen algunas cajas que complementan la información que nos dan las que nos vienen de serie. En este artículo vemos cómo añadir paneles personalizados al escritorio de wordpress.
Los motivos por los que puedas querer meter contenido ahí pueden ser de lo más variopintos, desde que quieras tener una foto de tu amad@, hasta poder poner algún tutorial al cliente al que le has hecho la web para que tenga la información siempre accesible. En cualquier caso, debes saber que es bastante simple y que puedes poner tanto contenido estático, como dinámico a base de consultas a la base de datos y demás.
Cómo poner bloques de contenido al escritorio de WordPress
Los chicos del equipo de wordpress tienen en cuenta todo este tipo de necesidades para los usuarios y programadores, y en base a su sistema de hooks, podemos prácticamente hacer cualquier cosa en la zona que mejor nos venga, por eso como en la mayoría de modificaciones, nos centraremos en editar el archivo functions.php que se encuentra en la carpeta del template o theme que estemos usando.
Una vez abierto para editar nos iremos abajo del todo y agregaremos las siguientes líneas:
/* vichaunter desktop postbox */ function vichaunter_postbox_content() { echo 'Contenido del postbox'; } function vichaunter_postbox_content_setup() { $id = 'vichaunter_postbox_desktop'; $title = __( 'Título del postbox' ); wp_add_dashboard_widget( $id, $title, 'vichaunter_postbox_content' ); } add_action('wp_dashboard_setup', 'vichaunter_postbox_content_setup');
Bien, una vez introduzcamos este contenido y le demos a guardar, en cuanto entremos en la administración, en el escritorio por supuesto, veremos que aparece un postbox con el título «Título del postbox» y como contenido tendrá «Contenido del postbox». Así de simple es añadir un nuevo bloque de contenido al escritorio de wordpress, pero como esta información es muy básica, vamos a ver punto por punto lo que hace cada cosa para que puedas desarrollar tus propios proyectos.
Explicación del código para agregar postbox en el escritorio de WordPress
Tenemos 3 partes en el código bien diferenciadas, y que tenemos que entender antes de lanzarnos a programar nuestros bloques avanzados.
- Función con el contenido
La primera función que vemos en el código insertado es:function vichaunter_postbox_content() { echo 'Contenido del postbox'; }
En esta porción de código estamos definiendo una función, con el nombre que queramos (procura que sea lo suficientemente explicativo como para que no coincida con otros nombres de funciones del sistema o plugins, puedes añadir una coletilla como yo).
Donde tenemos el echo, entre las llaves {} meteremos todo el contenido que queramos que aparezca. En este caso he puesto simplemente una línea de texto, pero podemos lanzar consultas contra la base de datos, hacer contenido dinámico y todo lo que queramos. Recuerda definir y crear esta función antes que las otras. - Creación del bloque
El segundo paso que haremos será con el siguiente código:function vichaunter_postbox_content_setup() { $id = 'vichaunter_postbox_desktop'; $title = __( 'Título del postbox' ); wp_add_dashboard_widget( $id, $title, 'vichaunter_postbox_content' ); }
Como puedes ver le damos el mismo nombre a la función pero le ponemos la terminación _setup, a modo informativo para saber qué partes estamos llamando. También puedes poner el nombre que quieras, ya que luego la llamaremos desde el hook.
En esta función simplemente vamos a definir las partes del bloque del escritorio con wp_add_dashboard_widget(id,title,content), sus partes son las siguientes:id: será el identificador único que mostrará en el código fuente, como id=»id_inventada», con el que podremos crear código css y también nos servirá para poder ocultarlo desde el panel superior.
title: será el título que queramos que muestre el bloque, también en texto plano.
content: En este pondremos el nombre de la función donde hemos creado el contenido, y se cargará todo como contenido del postbox.
- Colocación del bloque
Por último, añadiremos el bloque al panel de inicio con la llamada a la acción de la función que lo crea:add_action('wp_dashboard_setup', 'vichaunter_postbox_content_setup');
con add_action primero le indicamos lo que queremos que haga, en este caso añadir un bloque al escritorio, y en segundo lugar le indicamos el nombre de la función que lo genera, que es la del punto 2.
A partir de aquí las posibilidades e información que quieres que den tus bloques tienen el límite que tú quieras ponerles, desde estadísticas hasta texto simple.
¿Has puesto tus propios bloques en el escritorio de wordpress? ¿Con qué contenido?
Ver comentarios (2)
Hola...Excelente tu post y me resulto en mi web....solo una consulta que espero me puedas responder. Creé tres cajas distintas. Al abrir el escritorio me aparecen las 3 en línea vertical.
Me gustaría poder dejarlas fijas en una posición de a dos y lo hago arrastrando las cajas tal como lo permite mi theme...sin embargo, al abrir un escritorio distinto (Tengo varios miembros) las cajas vuelven a aparecer en línea vertical y ya no guardan el orden que les di anteriormente.
Existe alguna manera de dejarlas fijas para todos los miembros sin tener que ir uno por uno fijándolas en sus escritorios?
Muchas gracias por tu respuesta.
Perdona por la tardanza en escribirte, se me pasó el comentario y lo acabo de ver. Para hacer lo que quieres debería servirte este plugin https://es.wordpress.org/plugins/global-meta-box-order/ puedes ordenar las cajas del escritorio de wordpress de forma global para todos los usuarios