Luego de 7 años tuve la oportunidad de dedicarle tiempo a mi plugin JS Categories List y poder actualizarlo para que esté al día respecto a los estándares de WordPress y de la web en general.

Listado de categorías de forma dinámica
El plugin muestra un listado de categorías expandibles

Durante este tiempo WordPress añadió Gutenberg, un editor visual que ahora se incorpora en cada instalación y poco a poco va tomando el liderazgo de como crear el contenido. Por este motivo los widget/bloques han migrado a ser hechos con una aplicación en React y que llame a entradas del API del sitio.

Eliminación de jQuery de JS Categories List

En estos 7 años el principal cambio fue lo innecesario de depender de jQuery. Su popularidad se debía porque está incluida en cada instalación y anteriormente ayudaba a manipular el DOM fácilmente debido a las limitaciones de los navegadores.

Pero actualmente no es necesario usarla: los navegadores ya permiten hacer nativamente mucha de sus funcionalidad, la librería requiere cargar contenido JS innecesario y los bloques de Gutenberg se realizan con React quien ofrece mucho mas.

Creación del bloque de Gutenberg

Primero fue mejorar el código fuente, cuya tarea mas que todo fue aplicar estandarización de código PHP, organizar mejor el código, rescribir partes mal hechas

Luego fue la creación del bloque de Gutenberg, tomé como base el código fuente de mi otro plugin recientemente actualizado y lo modifiqué para funcionar con categorías en vez de archivos.

Los bloques de Gutenberg usan React, así que me tocó rescribir el plugin desde el PHP que genera HTML a componentes JSX. La lógica es similar pero en esta migración pude hacer mejoras que luego apliqué a la versión de PHP.

Para facilitar futuras mejoras y ver que el código funciona, agregué pruebas jest a los componentes y así asegurarme que todo funciona bien. En futuros cambios, ahora tendré como probar los cambios y garantizar el correcto funcionamiento,

Animaciones en JavaScript

Una de las principales funcionalidades que ofrecía jQuery es de animaciones sencillas con simplemente llamar una función. Esta funcionalidad no está disponible en el JavaScript puro porque esas características se fueron agregando a CSS.

En mi plugin de JS Archive List, logré implementar las animaciones usando clases CSS pero no funcionan bien en algunos casos reportados por usuarios, sobre todo, cuando hay altura dinámica.

Por ello, para este JS Categories List decidí crearlas desde 0 en vanilla JS para que funcionen bien en cualquier escenario. Descarté el uso de clases CSS por el problema mencionado, ademas que es mas fácil de probar de forma automatizada.

Experiencia al actualizar JS Categories List

Aprendí mucho al rescribir mi código antiguo. Noté como ha evolucionado mi forma de programar a lo largo de estos años, cómo la tecnología cambia pero las bases de WordPress se mantienen y la retrocompatibilidad se respeta. Con razón este CMS es el mas usado en el mundo.

Pude pulir mis conocimientos de React, de pruebas automatizadas con Jest y aplicar mejores patrones en el código de PHP. También el resultado me permitirá actualizar con mayor frecuencia este plugin y ofrecer mejoras.

Si usas WordPress te recomiendo descargar e instalar mi plugin.

Espero que te guste y lo uses en tu sitio.

La entrada JS Categories List 4.0 se publicó primero en El blog de Skatox.

Si te ha pasado como a mi que has vuelto a editar tu WordPress con Visual Composer y todo se ha vuelto una locura, no te preocupes, hay una solución muy sencilla.

Desde la versión 5.0.1 de WordPress, se ha agregado un nuevo editor de texto para todos los usuarios llamado Gutenberg. Para quienes no lo conocen, este nuevo editor permite la edición de contenido por bloques, facilitando una elaboración de contenido estructurado que agiliza la publicación de articulos y páginas con una calidad increible… ¿Pero que pasa con aquellos de nosotros que utilizabamos Visual Composer desde hace mucho tiempo antes de que este nuevo editor existiera?

Si aún deseas utilizar Visual Composer (que mi recomendación es ir migrando progresivamente tu contenido de un editor al otro para utilizar la menor cantidad de plugines necesarios), la forma mas sencilla de volver a tener activo tu editor de VC por encima de Gutenberg es instalando Classic Editor.

La comunidad ha desarrollado este plugin para que puedas hacer uso del editor original, y que tu VC funcione como antes. Luego de instalarlo, verifica en Ajustes -> Escritura -> Editor por Defecto que tengas activa la versión Clasica.

En mi caso, seguiré utilizando VC un tiempo mas, ya que sus galerías y complementos extendidos me brindan mas opciones y libertades de lo que Gutenberg ofrece por ahora.


This post has a nicer formatting that can be seen at it's original source at tatica.org , so feel free to hit the link and read better version!