Чтобы создать универсальный шорткод с переменными {land_p}
и {land_r}
, который можно использовать многократно в разных текстах и легко адаптировать под различные регионы и населённые пункты, нужно придерживаться принципов параметризации и шаблонного программирования.
Вот как можно подойти к решению задачи — пошагово и с возможностью применения в CMS, шаблонизаторах или генераторах контента.
Универсальный шорткод с параметрами: структура, синтаксис и применение
Принцип универсальности
Универсальный шорткод должен:
-
Принимать аргументы (например, название города и региона).
-
Работать одинаково для любых входных данных.
-
Не зависеть от конкретной платформы, но быть легко адаптируемым под неё (например, WordPress, Tilda, Bitrix, Markdown и др.).
Структура универсального шорткода
Общий шаблон
[location_info city="{land_p}" region="{land_r}"]
Где:
-
location_info
— название шорткода. -
city
иregion
— атрибуты (переменные). -
{land_p}
и{land_r}
— заполняемые значения, которые можно подставлять динамически или вручную при генерации.
Поддержка на разных платформах
WordPress (PHP)
Создаётся кастомный шорткод:
function location_info_shortcode($atts) {
$atts = shortcode_atts(
array(
'city' => 'Ваш город',
'region' => 'Ваш регион',
), $atts, 'location_info'
);
return "{$atts['city']}, {$atts['region']}";
}
add_shortcode('location_info', 'location_info_shortcode');
Использование в тексте:
[location_info city="Москва" region="Московская область"]
Результат:
Москва, Московская область
Markdown / генераторы (Jekyll, Hugo)
Пример шаблона на Liquid (Jekyll):
{{ include.city }}, {{ include.region }}
Включение:
{% include location_info.html city=page.city region=page.region %}
Bitrix (PHP + шаблоны)
В шаблонах можно создать макрос и заменить его в функции str_replace
или через #LAND_P#
и #LAND_R#
:
$city = "Воронеж";
$region = "Воронежская область";
$text = "Где находится #LAND_P#, #LAND_R#?";
$text = str_replace(["#LAND_P#", "#LAND_R#"], [$city, $region], $text);
echo $text;
Генерация универсального текста
Создание шаблона с переменными:
ТОП клиник в {land_p}, {land_r}: сравнение, рейтинг, отзывы, карта
Использование в шаблоне генерации (например, в Excel или Notion, либо в генераторе с поддержкой подстановки):
land_p | land_r | Шаблон |
---|---|---|
Казань | Республика Татарстан | ТОП клиник в Казань, Республика Татарстан: сравнение, рейтинг и т.д. |
Омск | Омская область | ТОП клиник в Омск, Омская область: сравнение, рейтинг и т.д. |
Расширяемость и логика
Добавьте логику склонения, если необходимо использовать город или регион в другом падеже:
Пример на JavaScript (с условной логикой)
function renderLocation(city, region) {
return `${city}, ${region}`;
}
console.log(renderLocation("Сочи", "Краснодарский край"));
// → Сочи, Краснодарский край
Если необходима морфология:
-
Использовать библиотеку вроде morpher.ru API, petrovich (Python), или morphos (PHP).
-
Тогда можно подставлять, например, в предложном падеже:
в городе {land_p.prep}, в регионе {land_r.prep}
.
Пример генерации на Python с шаблонизатором
from jinja2 import Template
template = Template("ТОП клиник в {{ city }}, {{ region }}: рейтинг и сравнение.")
print(template.render(city="Санкт-Петербург", region="Ленинградская область"))
Результат:
ТОП клиник в Санкт-Петербург, Ленинградская область: рейтинг и сравнение.
Универсальный шаблонный подход
Создание набора универсальных фраз, где {land_p}
и {land_r}
подставляются в зависимости от контекста:
Шаблоны:
-
«Лучшие врачи в {land_p}, {land_r}: как выбрать и куда обратиться»
-
«Какие клиники в {land_p}, {land_r} предлагают диагностику по полису?»
-
«Рейтинг частных медицинских центров в {land_p}, {land_r}»
Подстановка:
-
Вручную (например, в CMS).
-
Скриптом.
-
Через Excel / Google Sheets + CONCAT.
Шорткод в Notion или Airtable
В таблице:
Город | Регион | Заголовок |
---|---|---|
Уфа | Республика Башкортостан | Лучшие детские клиники в Уфа, Республика Башкортостан: адреса, телефоны |
Формула:
"Лучшие детские клиники в " & {Город} & ", " & {Регион} & ": адреса, телефоны"
Рекомендации по масштабированию
-
Использовать YAML/JSON для хранения регионов/городов.
-
Использовать генераторы (Python + Jinja2 / PHP + Blade / JS + Handlebars).
-
Добавить подстановку падежей, если нужно встраивать в тексты с морфологией.
-
Разделить шаблоны по типу контента: заголовки, описания, call-to-action.
Примеры комплексных шаблонов
На этой странице собраны лучшие клиники в {land_p}, {land_r}. Подробный рейтинг, отзывы пациентов, адреса и контактные телефоны помогут сделать правильный выбор.
Хотите узнать, где пройти обследование в {land_p}, {land_r} без очередей? Мы собрали список актуальных медицинских учреждений.
Сравните цены на медицинские услуги в {land_p}, {land_r}. В таблице — доступные клиники, их специализация, часы приёма и карта проезда.
Если вам нужно, я могу подготовить целую библиотеку шаблонов с универсальными шорткодами и переменными для разных падежей, формулировок и целей. Напишите, в каком формате вы хотите их получить (JSON, CSV, Notion, Excel, WordPress и т.д.).