En el artículo anterior, hablamos sobre los conceptos básicos del mapeo de shortcodes y de cómo puedes acceder a sus fantásticas ventajas. Hemos decidido dividir el artículo dedicado a la versión de Page Builder Sandwich del mapeo de shortcodes, ya que el siguiente texto puede volverse un poco más técnico.
A continuación, se ofrecen descripciones más detalladas del funcionamiento interno de nuestra función de mapeo de shortcodes y de cómo logramos que funcionara.
Un proceso automatizado
Para decidir qué plugins incluir en el mapeador de shortcodes, creamos un script automatizado que recopila los plugins más destacados del directorio de plugins de WordPress según los siguientes criterios:
- Dentro de los 1000 plugins más populares, mejor valorados y actualizados, con al menos 4000 instalaciones activas,
- Con al menos 4000 instalaciones activas,
- Con al menos 20 valoraciones, y;
- Con una valoración media de al menos 3 estrellas
Ejecutamos esta consulta a diario en el directorio de plugins de WordPress. Estos filtros garantizan que obtengamos una lista de plugins de buena calidad que utiliza mucha gente. En el momento en que se escribió esto, este criterio dio como resultado 800 plugins. Eso es un montón. De verdad, un montón.

Luego ejecutamos una serie de comprobaciones automatizadas en el código fuente de cada plugin para averiguar si contiene algún shortcode y, a continuación, intentamos encontrar todos esos shortcodes, incluidos todos sus atributos. Al procesar los datos, esto dio como resultado más de 2000 shortcodes. ¡Doble sorpresa! Los shortcodes detectados se introducen después en la base de datos de mapeo de shortcodes para su inspección manual.
Al final de este proceso, nos queda una lista enorme de plugins y cuáles son sus posibles shortcodes. Ahora es cuestión de depurar estos datos para asegurarse de que todo esté correcto.
Un proceso manual
Esta es probablemente la parte más difícil de todo el sistema de mapeo. El código de los plugins viene en diferentes formas y tamaños; nuestros scripts no detectan automáticamente todos los shortcodes. Aunque el Codex de WordPress indica que se use la función `shortcode_atts` para filtrar los atributos de un shortcode, esto es solo una recomendación y no todo el mundo lo hace. Tampoco hay una forma infalible de comprobar el interior de un shortcode cuando se instala un plugin.
Para asegurarnos de obtener correctamente todos los shortcodes y sus atributos, creamos un área en el front-end dedicada a editar shortcodes y atributos, construida con AngularJS y Bootstrap.

Tendremos que revisar manualmente todos y cada uno de los plugins y consultar la documentación de sus shortcodes para asegurarnos de que todos los datos que tenemos sean correctos.
Aunque esto es sumamente tedioso, tener un proceso automatizado tiene su lado positivo:
- Según nuestras primeras estadísticas, solo alrededor de 1 de cada 2 plugins tiene shortcodes.
- La mitad de los shortcodes detectados no tienen atributos (aunque una parte de esto pueden ser falsos positivos)
- Al obtener solo plugins de buena calidad, lo más probable es que cuenten con documentación sobre sus shortcodes
Cuando se hayan comprobado todos los shortcodes de un plugin, solo entonces el servidor comenzará a distribuir a los usuarios los mapeos de shortcodes de ese plugin.
Una llamada a la API REST
La última pieza del puzle es el propio plugin. El concepto aquí es simple: averiguar qué plugins están activos, qué tema está utilizando el sitio y qué shortcodes están disponibles, y luego consultar a la base de datos de mapeo de shortcodes si tiene mapeos disponibles. Para ello, creamos un endpoint personalizado de la WP REST API al que hacen ping todos los clientes para obtener sus mapeos de shortcodes más recientes.
El futuro: Crowdsourcing
Revisar manualmente cada plugin requiere mucho tiempo y esfuerzo. Una vez que la plataforma de mapeo de shortcodes sea estable, planeamos abrir el mapeo de shortcodes a todo el mundo. Esto significa que cualquiera podrá colaborar añadiendo shortcodes.
Quizás te estés preguntando: «¿por qué iba a ayudar a mapear shortcodes? ¿Qué gano yo con esto?». Bueno, se nos ocurren varias razones por las que la gente querría colaborar:
- Si has creado un plugin y aún no lo hemos detectado debido a los criterios anteriores (y está en el directorio de plugins de WordPress), puedes añadir los mapeos tú mismo. ¡Tu plugin pasaría a ser totalmente compatible con PBS!
- Dado que en el proceso automatizado solo trataremos con aquellos en el directorio de plugins de WordPress, los autores de plugins y temas prémium no estarán incluidos. Así que, si tienes uno, también puedes añadir tus mapeos de shortcodes para ellos.
- Y para quienes no sean creadores de plugins, podemos recompensar a los que ayuden. Para hacer que el mapeo de shortcodes sea una iniciativa atractiva, ¡podemos premiar a los colaboradores satisfechos con una licencia personal o una mejora a una licencia prémium de PBS!
Suscríbete a nuestra newsletter
La funcionalidad de mapeo de shortcodes estará disponible provisionalmente para nuestros clientes el 12 de agosto 15 de agosto 16 de agosto de 2016. No todos los shortcodes estarán mapeados para esa fecha (nuestra estimación es de quizás unos 100 plugins), pero el mapeo se realizará de forma continua y los clientes los recibirán tan pronto como se lancen los nuevos.
¡Suscríbete a nuestra newsletter para recibir novedades sobre el mapeo de shortcodes, cuándo lo lanzaremos y cuándo lo abriremos al público!