Ricardo Lavour knowledge seeker image

Un Theme puede crear todas las funcionalidades que puede tener un plugin o gran parte de ellas. Cabe tomar una desición cuando esta funcionalidad deseas que sea parte del theme, ya que un plugin puede ser utilizado independiente de un theme, el mismo puede ser activado o no en un período de tiempo sin estar ligado a un theme en particular.

Entre las funcionalidades de un plugin está en que este puede estar encapsulado acoplandose al theme y no en sentido contrario, desde crear nuevas tablas, interactuar u obtener datos desde el front, modificar comportamiento de la web, realizar conecciones ect.

Estas buenas prácticas son una pista de un creador de experimentado o con conocimientos más allá de un junior:

  1. Mantener la nomenclatura existentes de las tablas wp_.

  2. Manener la seguridad de datos sencibles esc_html y esc_attr.

  3. Redoblar las medidas de seguridad en caso de datos que no sean generados por el developer.

  4. Utilizar las etiquetas asignadas para que se puedan leer las cadenas de texto en post de su traducción _e().

  5. Tener cuidado de no dejar rastros como tablas, funciones, scripts al eliminar el plugin.

  6. Dar feedback al usuario que instala el plugin avisando las acciones.

lavour logo wordpress

Crear un plugin tiene la ventaja de proporcionar nuevas funcionalidades en un espacio controlado en donde no se depende de códigos de terceros y en donde se puede controlar de manera independiente el comportamiento del mismo. Se puede separar en varios segun el espacio que se desee modificar. Desde agregar un formulario de contacto con opciones extra a los existentes, customizar un formulario de acceso como crear un slider de los post.

Existen infinidad de casos de usos para crear un plugin, en donde muchas veces no confiamos o simplemente no llenas nuestras espectativas los existentes.

Tanto crear un plugin como crear un theme puede abrir una brecha y crear una vulnerabilidad si no se tiene conciencia de como cuidar ante ataques, siendo esto una de las ventajas al descargar un plugin o theme desde una fuente de confianza.

Esta es una lista de las herramientas que implemento para crear un plugin.

  1. Contenedores: Ya sea un desarrollo de equipo como individuales, es necesario tener un contenedor aislar el proyecto para que no se rompa el código de otros desarrolladores, o poder compartir el desarrollo manteniendo los recursos unificados.

  2. Control de Vesiones: Existen plugin el cual puedes realizar copias de la base de datos haciendo posible poder versionar el código, esta tarea es posible realizarla manualmente o con el mismo recurso del hosting. Esto porque la base de datos se debe mantener pero los archivos pueden tener una linea de tiempo diferente.

  3. Vanilla Js, SASS, WEBPACK: Del lado del front, podemos crear js modular, clases e implementar actuales herramientas de maquetado en donde webpack es vital en conjunto con babel para poder realizar la transpilación de código y al mismo tiempo garantizar su funcionalidad en todos los navegadores.

  4. TESTING: PHPUnit, Jest, Cypress, etc. son plenamente compatibles con wordpress, esto porque son frameworks de testing que permiten realizar pruebas de código y garantizar la funcionalidad de manera independiente en donde se pueda realizar pruebas de manera local y en un entorno de producción.

  5. PIPELINES: Para obtener los feedback del cliente podemos crear un CI/CD para mostrar los avances e ir obteniendo sugerencias o cambios de últimi minuto. Con los servicios en la nuve o los hosting tradicionales podemos crear un pipeline para poder realizar pruebas de código y poder obtener los feedbacks de los clientes.

  6. WORDPRESS HOOKS: Hooks de wordpress son la herramienta por oblitoriedad a conocer ya que con esta es como puedes modificar el comportamiento segun los requerimientos tecnicos del theme a desarrollar, no es necesario conocerlos todos para poder desarrollar un theme, pero si es necesario saber que existen y como funcionan. La documentación y comunidad es gigante y casi siempre tras una busqueda y conciencia de los teminos puedes dar la respuesta adecuada.

Siempre que se desee crear un plugin, es necesario estudiar los pro y contra ya que wordpress tiene miles de plugins disponibles de forma gratuita y en programación nunca es bueno reinventar la rueda.