Spintax — набор инструментов для генерации контента в WordPress: один шаблон превращается в уникальный, не дублирующийся текст по всему сайту. Создавайте переиспользуемые шаблоны на spintax-разметке, а затем встраивайте их через шорткоды и PHP — или привязывайте к полям ACF, post-meta и полям товаров WooCommerce, чтобы каждая подходящая запись получала свой отрендеренный вариант при сохранении, по расписанию или по требованию.
Разметка
- Перечисления —
{a|b|c}выбирает один вариант случайно, с вложенностью - Перестановки —
[<config>a|b|c]берёт N элементов, перемешивает и склеивает своими разделителями - Переменные —
%var%в глобальной области, области шорткода и локальной:#setперевыбирается при каждом использовании,#defвыбирается один раз на рендер - Условия —
{?VAR?then|else}ветвится по значению переменной,{?!VAR?then}инвертирует проверку - Согласование множественного числа —
{plural N: one|few|many}подбирает грамматически верную форму по числу (RU/UK/BE и SR/HR/BS — три формы, английский тип — две) - Вложенные шаблоны — один шаблон внутри другого через
#includeили[spintax] - Блочные комментарии —
/#…#/не попадает в вывод
Привязки к ACF и post-meta
Привязка соединяет шаблон с одним целевым полем одного типа записей — например «Записи → ACF: hero_subtitle» — и плагин заполняет это поле у каждой подходящей записи. Ручные правки по умолчанию сохраняются и отслеживаются по хешу; флаги решают, только ли заполнять пустые поля, перегенерировать при каждом сохранении или очищать поле, когда шаблон отрендерился в пустоту.
- Bulk Apply — асинхронные проходы порциями через Action Scheduler, с синхронной кнопкой «Run now» и запасным вариантом через WP-CLI, если планировщик не установлен
- Логи — запись по каждому проходу: что записано, что пропущено, что очищено
- WP-CLI —
wp spintax bindings list|apply|test|export|importдля переноса со стейджинга в продакшен - Миграция — разовый мастер для тех, кто переходит с
nested-spintax-for-acf
WooCommerce
На странице отдельного товара плагин определяет текущий товар и отдаёт его шаблону как %product_name%, %product_sku%, %product_type%, %product_categories%, %product_tags% и по одному %product_attribute_<slug>% на каждый атрибут — поэтому один шаблон, встроенный в два товара, даёт два отдельных закешированных варианта. Цена намеренно не отдаётся: это изменчивые коммерческие данные, и их попадание в шаблон сбрасывало бы кеш рендера при каждом изменении цены.
Привязка к полю товара идёт дальше и записывает сгенерированный текст в описание или краткое описание товара — тем же механизмом, что и привязки ACF: расписание, Bulk Apply, WP-CLI, логи. Три ограничения сделаны намеренно: записываемых полей только два, ручные правки по умолчанию побеждают, а любая запись идёт через саму WooCommerce, чтобы её кеши, таблицы поиска и хуки сохранения оставались согласованными. WooCommerce везде необязательна: без неё переменные просто не появляются, а привязки к товарам перестают писать.
Кеш и приватность
Отрендеренный результат кешируется через WP Object Cache API (готов к Redis / Memcached), с необязательной перегенерацией по расписанию для каждого шаблона. Всё работает на вашем сервере — никаких внешних сервисов, никакой слежки, никакие данные не покидают сайт.
Один синтаксис, пять движков
Синтаксис — открытый документированный стандарт. Его ядро совместимо с GTW — перечисления, перестановки, переменные, включения — и годами дополнялось собственными примитивами: условия по значению, согласование множественного числа, переменные #def с однократным выбором. Пять независимых движков реализуют его по одному общему корпусу тестов, полный справочник — на spintax.net. Для работы вне админки WordPress есть Spintax Studio — бесплатный нативный редактор для Windows с двухпанельным живым предпросмотром и встроенной проверкой.