Spintax

Generación de contenido para WordPress — marcado spintax vinculado a campos ACF, post-meta y descripciones de productos WooCommerce.

Disponible en: WordPress.org GitHub
Sitio del proyecto →

Spintax es un conjunto de herramientas de generación de contenido para WordPress: una sola plantilla se convierte en texto único y no duplicado en todo el sitio. Escriba plantillas reutilizables en marcado spintax e insértelas mediante shortcodes y PHP — o vincúlelas a campos ACF, post-meta y campos de producto de WooCommerce para que cada entrada correspondiente reciba su propia variante renderizada al guardar, según un calendario o a demanda.

Marcado

  • Enumeraciones{a|b|c} elige una opción al azar, con anidamiento
  • Permutaciones[<config>a|b|c] toma N elementos, los baraja y los une con sus propios separadores
  • Variables%var% en ámbito global, de shortcode y local: #set vuelve a elegir en cada uso, #def elige una vez por render
  • Condicionales{?VAR?then|else} bifurca según el valor de una variable, {?!VAR?then} invierte la comprobación
  • Concordancia de plural{plural N: one|few|many} elige la forma gramatical correcta según la cantidad (RU/UK/BE y SR/HR/BS de tres formas, tipo inglés de dos)
  • Plantillas anidadas — una plantilla dentro de otra mediante #include o [spintax]
  • Comentarios de bloque/#…#/ nunca llega a la salida

Vínculos con ACF y post-meta

Un vínculo une una plantilla con un único campo de destino de un tipo de contenido — por ejemplo «Entradas → ACF: hero_subtitle» — y el plugin rellena ese campo en cada entrada que coincida. Las ediciones manuales se conservan por defecto y se siguen por hash; los indicadores deciden si el vínculo solo rellena campos vacíos, regenera en cada guardado o vacía el campo cuando la plantilla no produce nada.

  • Bulk Apply — recorridos asíncronos por lotes mediante Action Scheduler, con un «Run now» síncrono y WP-CLI como alternativa si no está instalado
  • Registros — constancia por recorrido de lo que se escribió, se omitió o se vació
  • WP-CLIwp spintax bindings list|apply|test|export|import para pasar de staging a producción
  • Migración — un asistente único para quien viene de nested-spintax-for-acf

WooCommerce

En la página de un producto el plugin detecta el producto actual y lo expone a la plantilla como %product_name%, %product_sku%, %product_type%, %product_categories%, %product_tags% y un %product_attribute_<slug>% por cada atributo — así, una misma plantilla en dos productos da dos variantes cacheadas por separado. El precio se deja fuera a propósito: son datos comerciales volátiles y, dentro de la plantilla, invalidarían la caché de render en cada cambio de precio.

Un vínculo a campo de producto va más allá y escribe el texto generado en la descripción o la descripción corta del producto, con la misma maquinaria que los vínculos ACF: calendario, Bulk Apply, WP-CLI, registros. Tres límites son deliberados: solo esos dos campos son escribibles, las ediciones manuales ganan por defecto y toda escritura pasa por la propia WooCommerce, de modo que sus cachés, tablas de búsqueda y hooks de guardado siguen siendo coherentes. WooCommerce es opcional en todo momento: sin ella las variables simplemente no aparecen y los vínculos de producto dejan de escribir.

Caché y privacidad

La salida renderizada se cachea mediante la WP Object Cache API (lista para Redis / Memcached), con regeneración programada opcional por plantilla. Todo funciona en su propio servidor — sin servicios externos, sin rastreo, sin datos que salgan del sitio.

Una sintaxis, cinco motores

La sintaxis es un estándar abierto y documentado. Su núcleo es compatible con GTW — enumeraciones, permutaciones, variables, inclusiones — y se ha ampliado con el tiempo con primitivas propias: condicionales por valor, concordancia de plural y variables #def de una sola tirada. Cinco motores independientes la implementan contra un mismo corpus de pruebas, y la referencia completa está en spintax.net. Para escribir fuera del panel de WordPress está Spintax Studio, un editor nativo de Windows gratuito con vista previa en vivo a dos paneles y validación incorporada.