Spintax

Geração de conteúdo para WordPress — marcação spintax ligada a campos ACF, post-meta e descrições de produtos WooCommerce.

Disponível em: WordPress.org GitHub
Site do projeto →

O Spintax é um conjunto de ferramentas de geração de conteúdo para WordPress: um único modelo transforma-se em texto exclusivo e não duplicado em todo o site. Escreva modelos reutilizáveis em marcação spintax e insira-os por shortcodes e PHP — ou ligue-os a campos ACF, post-meta e campos de produto do WooCommerce, para que cada publicação correspondente receba a sua própria variante renderizada ao guardar, por agendamento ou a pedido.

Marcação

  • Enumerações{a|b|c} escolhe uma opção ao acaso, com aninhamento
  • Permutações[<config>a|b|c] retira N elementos, baralha-os e junta-os com separadores à sua escolha
  • Variáveis%var% em âmbito global, de shortcode e local: #set volta a sortear a cada uso, #def sorteia uma vez por render
  • Condições{?VAR?then|else} ramifica pelo valor de uma variável, {?!VAR?then} inverte a verificação
  • Concordância de plural{plural N: one|few|many} escolhe a forma gramatical certa pela quantidade (RU/UK/BE e SR/HR/BS com três formas, tipo inglês com duas)
  • Modelos aninhados — um modelo dentro de outro por #include ou [spintax]
  • Comentários de bloco/#…#/ nunca chega à saída

Ligações a ACF e post-meta

Uma ligação junta um modelo a um único campo de destino de um tipo de conteúdo — por exemplo «Artigos → ACF: hero_subtitle» — e o plugin preenche esse campo em cada publicação correspondente. As edições manuais são preservadas por omissão e seguidas por hash; as opções decidem se a ligação apenas preenche campos vazios, regenera a cada gravação, ou esvazia o campo quando o modelo não produz nada.

  • Bulk Apply — percursos assíncronos por blocos através do Action Scheduler, com um «Run now» síncrono e WP-CLI como alternativa se não estiver instalado
  • Registos — o relato, percurso a percurso, do que foi escrito, ignorado ou esvaziado
  • WP-CLIwp spintax bindings list|apply|test|export|import para levar o staging a produção
  • Migração — um assistente único para quem vem do nested-spintax-for-acf

WooCommerce

Na página de um produto, o plugin deteta o produto atual e expõe-no ao modelo como %product_name%, %product_sku%, %product_type%, %product_categories%, %product_tags% e um %product_attribute_<slug>% por cada atributo — por isso o mesmo modelo em dois produtos dá duas variantes guardadas em cache em separado. O preço fica de fora de propósito: é um dado comercial volátil e, dentro do modelo, invalidaria a cache de render a cada alteração.

Uma ligação a campo de produto vai mais longe e escreve o texto gerado na descrição ou na descrição curta do produto, com a mesma maquinaria das ligações ACF: agendamento, Bulk Apply, WP-CLI, registos. Três limites são deliberados: apenas esses dois campos são graváveis, as edições manuais ganham por omissão, e cada escrita passa pelo próprio WooCommerce, para que as suas caches, tabelas de pesquisa e hooks de gravação se mantenham coerentes. O WooCommerce é sempre opcional: sem ele as variáveis simplesmente não aparecem e as ligações de produto deixam de escrever.

Cache e privacidade

O resultado renderizado é guardado em cache pela WP Object Cache API (pronta para Redis / Memcached), com regeneração agendada opcional por modelo. Tudo corre no seu próprio servidor — sem serviços externos, sem rastreio, sem dados a sair do site.

Uma sintaxe, cinco motores

A sintaxe é uma norma aberta e documentada. O seu núcleo é compatível com GTW — enumerações, permutações, variáveis, inclusões — e foi crescendo com primitivas próprias: condições guiadas pelo valor, concordância de plural, variáveis #def sorteadas uma só vez. Cinco motores independentes implementam-na contra um mesmo corpo de testes, e a referência completa está em spintax.net. Para escrever fora da administração do WordPress existe o Spintax Studio, um editor nativo de Windows gratuito, com pré-visualização ao vivo em dois painéis e validação incorporada.