Как вывести шаблон Elementor на другой странице WordPress
Два способа повторно использовать сохраненный шаблон Elementor: вставка через библиотеку и безопасный динамический вывод через собственный шорткод.

Короткий ответ: если сохраненный шаблон Elementor нужно один раз перенести на другую страницу, вставьте его через библиотеку шаблонов в редакторе. Если один и тот же блок должен использоваться на нескольких страницах и обновляться из одного места, зарегистрируйте собственный шорткод и выводите шаблон по его ID.
Ниже разберем оба варианта. Во втором способе есть проверки ID, типа записи, статуса публикации и загрузки Elementor, поэтому случайное или некорректное значение не приведет к фатальной ошибке.

Какой способ выбрать
- Вставка через библиотеку Elementor подходит, когда блок нужно скопировать на одну страницу и затем редактировать независимо.
- Вывод через шорткод подходит для общего блока: призыва к действию, таблицы тарифов, контактов или другого фрагмента, который должен меняться сразу на всех страницах.
- Вызов из PHP-шаблона нужен, когда блок должен появляться в заданном месте темы по условию.
Главное различие простое: вставленный через библиотеку блок становится частью конкретной страницы, а динамически выведенный шаблон остается единым источником данных.
Способ без кода: вставить сохраненный шаблон в Elementor
- Откройте исходный блок в Elementor.
- Сохраните секцию или контейнер как шаблон через контекстное меню.
- Откройте страницу, на которую нужно перенести блок.
- Нажмите значок папки в нужном месте макета.
- Перейдите в раздел своих шаблонов и нажмите «Вставить».
Этот способ не требует PHP и подходит для разового переноса. Но последующее редактирование исходного шаблона обычно не изменит уже вставленную копию. Если нужна синхронизация между страницами, используйте следующий вариант.
Динамический вывод шаблона через собственный шорткод
Установленный на сайте Elementor предоставляет публичный метод get_builder_content_for_display(), который получает готовую HTML-разметку шаблона. Обернем его в уникальный шорткод ink_elementor_template.
Готовый PHP-код
<?php
/**
* Выводит опубликованный шаблон Elementor по его ID.
*
* Использование: [ink_elementor_template id="123"]
*/
function inkognitod_elementor_template_shortcode( $atts ) {
$atts = shortcode_atts(
array(
'id' => 0,
),
$atts,
'ink_elementor_template'
);
$template_id = absint( $atts['id'] );
if (
! $template_id
|| ! did_action( 'elementor/loaded' )
|| ! class_exists( 'ElementorPlugin' )
) {
return '';
}
if (
'elementor_library' !== get_post_type( $template_id )
|| 'publish' !== get_post_status( $template_id )
) {
return '';
}
return ElementorPlugin::instance()
->frontend
->get_builder_content_for_display( $template_id, true );
}
add_shortcode(
'ink_elementor_template',
'inkognitod_elementor_template_shortcode'
);
Второй аргумент true у метода рендеринга добавляет CSS шаблона. Это важно, когда шорткод размещается на обычной странице WordPress, которая не редактировалась в Elementor.
Куда добавить код
Лучший вариант для постоянного решения — небольшой кастомный плагин. Допустимо добавить код в functions.php дочерней темы. Не вставляйте его в родительскую тему: при обновлении темы изменения будут потеряны.
Имя шорткода сделано уникальным намеренно. WordPress хранит обработчики в общем реестре, поэтому короткое общее имя может пересечься с другим плагином.
Как узнать ID шаблона Elementor
- В панели WordPress откройте список сохраненных шаблонов Elementor.
- Наведите курсор на название нужного шаблона.
- Посмотрите адрес ссылки редактирования. Число после
post=— это ID шаблона.
Например, в адресе post.php?post=123&action=edit идентификатор шаблона равен 123. Подробнее о поиске связанных страниц и шаблонов есть в материале как узнать страницы, использующие кастомный шаблон.
Как вставить шорткод в редакторе
Добавьте стандартный блок «Шорткод» и укажите ID:
[ink_elementor_template id="123"]
Тот же код можно поместить в виджет Shortcode внутри Elementor. После публикации WordPress заменит запись на содержимое сохраненного шаблона.
Как вывести шаблон в PHP-файле темы
Если блок должен появляться в шаблоне страницы, используйте do_shortcode():
<?php
echo do_shortcode( '[ink_elementor_template id="123"]' );
?>
Такой вызов размещают в дочерней теме, например в собственном шаблоне страницы или в подходящем хуке. ID лучше хранить в настройке или ACF-поле, если редактор должен менять шаблон без правки кода.
Зачем нужны проверки в функции
absint()превращает атрибут в безопасный положительный ID.did_action( 'elementor/loaded' )не позволяет обращаться к Elementor, если плагин отключен или не загрузился.class_exists()защищает от несовместимого состояния плагина.- Проверка
elementor_libraryне дает вывести произвольную запись WordPress. - Проверка статуса
publishне публикует черновой или приватный шаблон.
Не передавайте ID напрямую из параметра URL или пользовательской формы. Значение должно находиться в контенте, настройке сайта или другом месте, доступном только доверенному редактору.
Частые ошибки
На странице ничего не появилось
Сначала проверьте ID и статус шаблона. Он должен находиться в библиотеке Elementor и быть опубликован. Затем убедитесь, что Elementor активен и шорткод добавлен в активный кастомный плагин или дочернюю тему.
Разметка появилась без стилей
Используйте второй аргумент true в get_builder_content_for_display(). После изменения очистите кэш сайта, CSS Elementor и кэш оптимизирующего плагина или CDN.
Изменения шаблона не видны
Обновите сам сохраненный шаблон, затем очистите кэш. Если блок ранее вставлялся через библиотеку как обычная копия, он уже не связан с исходником. Для синхронного обновления замените копию шорткодом.
Шаблон пытается вывести сам себя
Не размещайте шорткод с ID текущего шаблона внутри него же. Elementor защищается от прямой рекурсии и вернет пустой результат, но такая структура все равно является ошибкой.
В редакторе результат отличается от опубликованной страницы
Проверяйте финальный вид на опубликованной странице и в приватном окне браузера. На результат могут влиять CSS темы, условия отображения, кэш и оптимизация файлов. После обновления Elementor также стоит проверить одну тестовую страницу до массового использования шаблона.
Производительность и поддержка
Один общий шаблон удобнее нескольких ручных копий: меньше риск оставить старый телефон, цену или ссылку на части страниц. Но не стоит собирать всю страницу из десятков вложенных шорткодов. Каждый шаблон требует рендеринга, а сложные виджеты могут добавлять стили, скрипты и запросы.
Для повторяющегося блока используйте один шорткод, включите кэш страниц и после изменений проверяйте мобильную версию. Если блок критичен для первого экрана, сравните скорость до и после добавления.
Ответы на вопросы
Нужен ли Elementor Pro?
Для показанного PHP-способа используется API основного плагина Elementor. Однако отдельные виджеты внутри шаблона могут требовать Elementor Pro или другого дополнения.
Можно ли использовать один шаблон на нескольких страницах?
Да. Разместите один и тот же шорткод с одинаковым ID на нужных страницах. После редактирования сохраненного шаблона изменения появятся во всех местах после очистки кэша.
Почему не используется шорткод elementor-template?
Наличие такого шорткода зависит от установленного набора плагинов и версии. В текущей конфигурации сайта он не зарегистрирован, поэтому собственное уникальное имя дает предсказуемое поведение и не создает скрытой зависимости.
Итог
Для разового переноса вставьте сохраненный шаблон через библиотеку Elementor. Для единого блока, который должен обновляться на нескольких страницах, используйте собственный шорткод с проверками и выводом через get_builder_content_for_display(). Размещайте PHP-код в кастомном плагине или дочерней теме и обязательно проверяйте результат после очистки кэша.
Официальная документация: библиотека шаблонов Elementor, add_shortcode(), shortcode_atts() и do_shortcode().
Нужна доработка WordPress-сайта?
Inkognitod помогает аккуратно дорабатывать WordPress, WooCommerce, ACF, формы, шаблоны и JavaScript-логику без правок ядра и хаоса в теме.


