Blog sobre desarrollo WordPress en Español Desarrollo WordPress en Español
Creando un plugin para WordPress

Creando un plugin para WordPress parte 1: Planificación y planteamiento

 

En los siguientes artículos vamos a ver cómo crear un plugin para WordPress. Viene de la charla que dí en la WordCamp Bilbao junto con David Navia. Lo he divido en 5 partes donde veremos desde la planificación y buenas prácticas antes de ponernos manos a la obra, hasta su subida al repositorio oficial de WordPress, pasando por la propia creación de un plugin en sí, con un ejemplo muy básico.

 

Planificación y planteamiento

La creación de un plugin debe considerarse como un desarrollo en sí. Un plugin es algo que extiende o añade funcionalidad nueva a nuestro WordPress, por lo tanto lo primero que tenemos que hacer es tomarnos un tiempo para planificar cómo vamos a desarrollar el plugin y qué vamos a necesitar para hacerlo. Lo mejor para ello es hacerse una serie de preguntas:

  • ¿Cual es el objetivo del plugin? Plantea los requerimientos mínimos y especificaciones
  • ¿Debo usar el modelo de datos de WordPress o necesito crear uno propio? Planifica la persistencia de datos
  • ¿Necesito opciones de configuración y/o administración del plugin? Establece los flujos de información
  • ¿Necesito agregar CSS y/o JS? Diseña las interfaces y la experiencia de usuario
  • ¿Cómo lo haré escalable por si el día de mañana necesito crecer? Piensa a lo grande y empieza por lo básico

 

Es muy importante tener en cuenta que nuestro plugin debe integrarse en nuestro sitio de WordPress y convivir con otros plugins y con funcionalidades que pueda tener nuestro tema. Cobra una vital importancia la organización, el control de dependencias y el modelo de datos a escoger.

WordPress tiene un modelo de datos y pone a nuestra disposición una serie de APIs que nos van a facilitar la implementación de la mayor parte de las funcionalidades que necesitaremos para crear nuestro plugin:

  • HTTP API => peticiones HTTP a URLs externas
  • Metadata API => obtener o modificar datos de posts, usuarios, comentarios, taxonomías…
  • Options API & Transients API => La manera sencilla de almacenar en BBDD información
  • Settings API => administrar configuraciones generales
  • Shortcode API => permite crear funciones para insertar funcionalidad dentro de nuestros post y páginas
  • Theme Customization API => para crear opciones en el personalizador
  • Hooks => Actions y Filters que permiten interactuar con funciones o puntos de ejecución

 

Puedes ver el listado completo de APIs y lo que hacen en la siguiente página.

Lo más importante de este punto 1 se resume en la siguiente imagen:

reinventar la rueda

¡No reinventes la rueda! Lo más probable es que WordPress disponga de algo para realizar lo que tu quieres hacer con tu plugin. Por lo tanto mi recomendación es que busques, te documentes e investigues. Echa un vistazo al codex o busca en los foros… Recopila información y adelante!

Puede que también te interese

Cómo agregar el generador de contraseña fuerte de WordPress en nuestro formulario de registro personalizado
Cómo agregar el generador de contraseña fuerte de WordPress en nuestro formulario de registro personalizado
En la entrada anterior veíamos cómo crear un formulario de registro personalizado en WordPress. En el ejemplo, generábamos una contraseña automáticamente, pero ahora vamos a…
Evitar la enumeración de usuarios en WordPress parte 1
Evitar la enumeración de usuarios en WordPress parte 1
La enumeración de usuarios es una vulnerabilidad que podría ser utilizada por un atacante o un usuario malicioso para intentar obtener un listado de los…
Theme Customization API: Cómo añadir nuestras propias opciones en el personalizador de WordPress
Theme Customization API: Cómo añadir nuestras propias opciones en el personalizador de WordPress
El personalizador de WordPress fue añadido en la versión 3.4, y te permite de una forma visual hacer y ver cómo quedan los cambios que…
Porqué y cómo cambiar el permalink de Autor en WordPress
Porqué y cómo cambiar el permalink de Autor en WordPress
WordPress posee una estructura de enlaces amigables optimizada para el SEO. De este modo nos permite tener enlaces del tipo www.misitio.com/quienes-somos/ en lugar de www.misitio.com/?id=7.…