Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Widgets

Cómo crear widgets de escritorio personalizados

by
Difficulty:BeginnerLength:ShortLanguages:

Spanish (Español) translation by Eva Collados Pascual (you can also view the original English article)

El escritorio de WordPress es un excelente lugar para ver actualizaciones, o cualquier tipo de información relacionada con tu actividad. En este tutorial, veremos cómo disponer de widgets estándar y cómo crear tus propios widgets personalizados.

Vamos a crear un sencillo plugin para manejar esto de manera que podamos aplicarlo a cualquier tema.


1. Crear el plugin

Crea una nueva carpeta en el directorio de plugins (wp-content/plugins) y coloca allí un archivo denominado dashboard_widgets.php.

Guárdalo y ya lo tendremos disponible para activarlo en la página de los plugins.

Vamos a crear la clase que contendrá nuestras funciones.

Usaremos el gancho wp_dashboard_setup para combinar las dos funciones:

  • remove_dashboard_widgets se usará para eliminar los widgets predeterminados
  • add_dashboard_widgets se usará para añadir algo propio
Observa la forma en la que combinamos las funciones array( $this, 'remove_dashboard_widgets' ). Como es una clase, le tienes que decir a WordPress que la función pertenece a esta clase.

2. Define nuestros widgets

Vamos a crear otro archivo denominado custom_widgets.php. Contendrá las definiciones de nuestros widgets (tanto para eliminar la predeterminada como para añadir nuevas).

Primero, eliminemos algunos widgets. Es básicamente una matriz que contiene ID de widgets a eliminar e información sobre dónde eliminarlos (página y contexto).

Para este propósito, usaremos la función remove_meta_box() ya que los widgets del dashboard están construidos como cajas meta.

  • ID
  • Page – Página en la que podemos encontrar este widget (escritorio / post / adjunto / …)
  • Context – En qué área está ubicado el widget (normal / avanzado / lateral)

Ahora, establezcamos esos parámetros:

Después, definimos los widgets personalizados que queremos añadir. Para añadir widgets personalizados, usaremos la función integrada wp_add_dashboard_widget(). La función acepta varios argumentos:

  1. ID
  2. Title - El título de nuestro widget
  3. Callback - La función que gestiona el contenido del widget

Así que vamos a definir nuestro widget y a establecer esos parámetros. Para este tutorial, crearemos un widget de escritorio muy simple que mostrará las últimas entradas publicadas por el usuario actual.

Como la opción de devolución de llamada requiere una función para gestionar el contenido del widget, añadamos una función para esto.

Ahora que hemos definido los widgets que queremos eliminar del escritorio así como aquellos que queremos crear, podemos centrarnos de nuevo en nuestra clase.


3. ¡Hacer la magia!

Ahora, todo lo que queda por hacer es añadir y eliminar realmente esos widgets.

Así que volvamos a nuestra clase y rellenemos los huecos que dejamos en el Paso 1.

En primer lugar, vamos a incluir la definición de nuestros widgets de manera que estén disponibles en nuestra clase. Añade esta línea en la parte superior de dashboard_widgets.php:

Eliminar widgets

Para eliminar nuestros widgets, simplemente recorremos a través de nuestra matriz $remove_defaults_widgets  y aplicamos la función remove_meta_box con los parámetros que hemos establecido para cada widget.

Asegúrate de “globalizar” la variable $remove_defaults_widgets, de no hacerlo no serás capaz de usarla.

Añadir widgets personalizados

Aquí exactamente el mismo proceso, a excepción de que aplicamos la función wp_add_dashboard_widget.

Ahora guarda y dirígete a tu escritorio, deberías llegar a algo como lo siguiente:

Dashboard with custom widgetsDashboard with custom widgetsDashboard with custom widgets

Conclusión

Ahora, puedes añadir cualquier widget que desees a tu escritorio de WordPress, simplemente añadiendo opciones y devoluciones de llamada al archivo custom_widgets.php.

Siempre es buena idea personalizar el escritorio, especialmente cuando es para un cliente. Puedes listar sus últimos artículos, comentarios, recordatorios, etc. De forma que se convierta en un lugar conveniente por el que empezar.

Cuéntanos en la siguiente sección de comentarios qué piensas, especialmente si tienes sugerencias sobre la personalización del escritorio de WordPress para los clientes.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.