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!

¿Te ha resultado útil esta información? 🍺

Si este post te ha resuelto un problema, invítame a un café o a una cerveza. Con este pequeño gesto me animas a seguir escribiendo.

Comentarios

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *:

  • El fin del tratamiento es únicamente la moderación de comentarios para evitar spam
  • La legitimación es tu consentimiento al comentar
  • No se comunicará ningún dato a terceros salvo por obligación legal
  • Tienes derecho al acceso, rectificación y eliminación de los comentarios