Как вставить шорткод (shortcode) в шаблон WordPress
Admin
07.10.2017
WordPress
Многие плагины для WordPress позволяют выводить свои функции в записях или отдельных элемента сайта (через виджеты). Поэтому обычно шорткоды используются для вставки через административную панель сайта. Но можно их (shortcode) вставить и в шаблон WordPress.
Предположим, что есть какой-то плагин и он позволяет выводить требуемую информацию через следующий шорткод:
[plugin_shortcode_name]
Теперь, чтобы использовать этот shortcode в шаблоне своего сайта, добавляем следующий код в любую из страниц шаблона. В том месте, где требуется вывести шорткод:
Читайте также
У сайта нет цели самоокупаться, поэтому на сайте нет рекламы. Но если вам пригодилась информация, можете лайкнуть страницу, оставить комментарий или отправить мне подарок на чашечку кофе.
Шорткоды в WordPress: создание и применение на практике

Шорткоды в WordPress — это простой способ добавить динамический контент к записям, страницам, боковым панелям и шаблонам. Многие плагины используют их для вывода контактных форм, галереи изображений, слайдеров.
В этой статье мы расскажем, как легко добавить шорткод в WordPress, а также создавать кастомные шорткоды с помощью Shortcode API.
Что такое шорткод в WordPress
Шорткоды — это ярлык кода, который позволяет добавлять динамический контент к различным типам записей, боковым панелям и шаблонам.
Синтаксис шорткода представляет собой текст (ключевое число) внутри квадратных скобок.
Простой шорткод без параметров выглядит так:
[shortcode]
Шорткод с параметрами имеет вид:
[shortcode params="foo"]
Шорткод с текстом в качестве параметра обычно выглядит, так:
[shortcode]Здесь может быть любой текст[/shortcode]
Косая черта может применяться, как в одиночных, так и в контентных шорткодах:
[shortcode /] [shortcode]Еще один пример[/shortcode]
Чтобы лучше понять для чего нужны шорткоды, давайте взглянем на предысторию того, почему они были добавлены в первую очередь.
Shortcode API
Система WordPress в целях безопасности при сохранении контента выполняет фильтрацию данных, чтобы не допустить внесения выполняемого вредоносного кода в базу данных.
Это означает, что вы можете писать HTML-разметку в своих постах, но не можете выполнить PHP-код и сценарии JavaScript.
Shortcode API позволяет разработчикам добавлять свой код внутрь функции, а затем зарегистрировать ее в WordPress в качестве шорткода для вызова в контенте.
Когда WordPress находит шорткод, он автоматически запускает код связанный с ним и показывает результат его работы на странице.
Область применения шорткодов на сайте достаточно широка. Вы можете использовать их при написании плагинов, для размещения счетчиков посещаемости, добавления интерактивной карты, показа рекламных объявлений и других задач.
Как добавить шорткод на страницу в WordPress
Если вы используете редактор Gutenberg, добавьте новый блок с типом Шорткод в процессе редактирования записи:

Если вы используете классический редактор начните редактирование записи в которой вы хотите добавить динамический контент. Вы можете вставить шорткод в любом месте текстового редактора:

Для добавления шорткода на боковую панель, перейдите на экран Внешний вид -> Виджеты и добавьте новый виджет типа Блок:

Для вставки шорткода в шаблон WordPress используйте функцию do_shortcode() :
Создание шорткодов в WordPress
В качестве примера напишем простой кастомный шорткод с помощью функции add_shortcode() , который вернет некоторый результат.
Добавим код в functions.php :
Вставим шорткод [shortcode] в текст записи и увидим результат выполнения функции:
Привет, мир!
Шорткод с поддержкой параметров
Пример шорткода с поддержкой параметров:
'Марка автомобиля', 'hp' => 0, ], $atts ); return "Мощность автомобиля — лошадиных сил"; > ?>
Размещаем шорткод с двумя параметрами [car brand=»Porsche» hp=»220″] в тексте записи и получаем результат:
Мощность автомобиля Porsche — 220 лошадиных сил.
Контентный шорткод
Обычно контентный шорткод используют для обрамления какого-либо фрагмента текста. Например, на сайте используется цитирование, которое представляет текст внутри тега с каким-то текстом внутри.
Для удобства редактирования записей можно сформировать шорткод, который будет содержать в себе обертку HTML, которую так не любят контент-менеджеры:
' . $text . ''; > ?>
Чтобы использовать этот шорткод, добавьте его в текст записи:
[blockquote]Еще одна цитата[/blockquote]
Контентный шорткод с поддержкой атрибутов
Вывод цитат можно преобразовать в блоки внимания, добавив поддержку атрибутов. Например, вы часто используете блоки внимания в своих записях для вывода: примечаний, цитат и предупреждений.
'example', ], $atts ); return '' . $text . '
'; > ?>
Теперь мы сможем задать класс для тега и добавить текст:
[blockquote ]Внимание! Продукция для лиц старше 16 лет.[/blockquote]
Шорткод с буферизацией вывода
Чтобы вставить в текст записи фрагменты HTML, PHP-код или JS-сценарий, воспользуемся буферизацией вывода в PHP.
Например, добавим рекламный блок Рекламной сети Яндекса в контент на странице с помощью шорткода. Вывод рекламного блока без буферизации:
'; return $string; > ?>
Пример кода c буферизацией вывода:
?>
В результате шорткод [sponsored] покажет рекламное объявление на странице.
Удаление шорткодов в WordPress
Чтобы удалить шорткод воспользуйтесь функцией remove_shortcode() . Функция принимает лишь один параметр: имя шорткода, который требуется снять с регистрации.
WordPress вставить шорткод в php
Так а в чем проблема? Что конкретно не получается? Куда конкретно вы хотите вставить шорткод? Что это за шорткод?
26 янв 2023 в 7:28
В нижнюю строку
26 янв 2023 в 8:13
Дополните вопрос, покажите, как вы вставляли шорткод. Мне просто непонятно, какие с этим сложности могут возникнуть
26 янв 2023 в 8:16
Как то так пытаюсь впихнуть)) ‘; ?>?php>
26 янв 2023 в 8:23
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Все шорткоды, которые выполняет WP, выполняются через do_shortcode() , поэтому шорткод нужно вызывать через эту функцию: do_shortcode(‘[POST_MODIFIED]’)
Вдобавок ко всему, строки сами себя не соединят, конкатенация в php делается через оператор . .
А дальше только все это соединить:
' . get_the_author() . ''; ?> ' . wpshop_read_time() . ' ' . __( 'min', THEME_TEXTDOMAIN ) . ''; ?> get_views() > 0 ) < echo '' . $wpshop_helper->rounded_number( $wpshop_template->get_views() ) . ''; > ?> '; ?> '; ?> ?>
Шорткоды в WordPress: что это, зачем нужны и как с ними работать?
Шорткоды в WordPress (shortcode) — это конструкция в тексте, которая создает на сайте нужный функциональный элемент, например, кнопку, форму контакта и пр. CMS обрабатывает шорткоды с помощью функции PHP. Шорткоды впервые появились в WordPress 2.5.
Например, самый простой шорткод для создания галереи выглядит вот так:
Этот достаточно простой, доступный по умолчанию, инструмент расширяет возможности разработчиков очень существенно. Часто с помощью шорткодов добавляют в посты кнопки, посты, слайдеры и пр. Это может быть хорошей альтернативой, если вы не хотите устанавливать Elementor и другие тяжеловесные конструкторы страниц.
Шорткоды не вытеснил даже встроенный блочный редактор Gutenberg.
Иногда, для более сложных задач в шорткоды добавляют параметры. Например, так выглядит тот же шорткод галереи с параметрами:
Параметр ids содержит номера изображений в галерее, параметр size отвечает за размер создаваемого элемента.
Список стандартных шорткодов, работающих в WordPress
В CMS встроен набор шорткодов, которые работают без дополнительных действий. Система распознает такие элементы:
.
Как сделать, чтобы шорткоды отображались без выполнения?
Иногда на сайтах WordPress нужно просто показать шорткоды без выполнения. Для этого их экранируют. Как это делается? Просто добавьте еще одни квадратные скобки.
У сложных шорткодов может быть открывающий и закрывающий тег. В таком случае экранированный элемент будет выглядеть так:
Если код уже использовался на сайте, вы увидите его без двойных скобок.
Как создать свои шорткоды в WordPress?
Вы можете создавать собственные шорткоды в WP, чтобы расширить возможности сайта. Разберем два способа. Сначала посмотрим, как создавать шорткоды без навыков работы с кодом, с помощью плагинов.
Инструментов такого типа много. Подробно расскажем про самый популярный плагин для шорткодов.
Shortcodes Ultimate: самый удобный инструмент работы с шорткодами

Функциональный и очень удобный плагин для шорткодов. Кроме того, компонент полностью русифицирован. Среди заявленных возможностей и преимуществ:
- более 50 видов активных шорткодов;
- функции быстрого добавления;
- адаптивность всех создаваемых элементов;
- полная совместимость с любыми темами и плагинами для WP;
- легкая доработка кода;
- собственный виджет;
- совместимость с gutenberg.
Также есть несколько премиум дополнений к плагину.
Основные настройки плагина
Что делать, чтобы плагин работал правильно? После стандартного скачивания и активации в меню появится раздел Шорткоды. В меню важно обратить внимание на два раздела:

- Пользовательский CSS код. Не нужно вставлять стили в шаблон, если хотите поменять внешний вид стандартных элементов.
- Префикс нужен, чтобы чтобы использованые шорткоды не конфликтовали с кодом в плагинах. Можно менять значение на собственное.
Доступные shortcodes
Следующий раздел содержит доступные варианты шорткодов. Коллекция элементов очень большая. Выбрав одну из опций, вы найдете полную справку по использованию и настройке шорткодов.

Во вкладке указано все:
- внешний вид элемента, за который отвечает шорткод;
- пример кода;
- все параметры и операторы в блоке.
Добавление в записи или на страницы
Чтобы добавить шорткод в запись или на страницу после установки плагина, найдите кнопку Добавить шорткод в панели текстового редактора на странице.

Так можно просто выбрать нужный шорткод для нужной части страницы.
Добавление в виджеты
Плагин также позволяет добавить шорткоды в виджеты. В панели настройки внешнего вида спускаемся вниз, находим виджет для шорткодов и перетаскиваем к активным.
Плагин очень удобный в использовании. Цена премиум версии 30 USD за пожизненную лицензию. Эти расходы оправдают себя на 100%.
Другие плагины для создания и вставки шорткодов
Есть еще несколько плагинов, с помощью которых можно создавать и вставлять шорткоды. Эти компоненты уступают по функциональности, но тоже могут быть полезны. Самые популярные и удобные:
- Shortcoder;
- CSSIgniterShortcodes;
- Column Shortcodes.
Как создать шорткод без плагинов?
Для создания шорткода без плагинов используют функцию add_shortcode(). У нее два параметра: название шорткода и название самой PHP функции. Вот пример простого PHP кода, регистрирующего новый шорткод для сайта:
add_shortcode( ‘foobar’, ‘foobar_shortcode’ ) function foobar_shortcode( $atts ) < return 'Привет! Я новый шорткод.'; >
С помощью этого кода реализуется замена [foobar] надписью Привет! Я новый шорткод.
Создание шорткодов с атрибутами
В шорткод можно добавить атрибуты, которые более точно настраивают параметры создаваемого элемента на сайте. В таких случаях лучше использовать функцию shortcode_atts():
add_shortcode( ‘foobar’, ‘foobar_shortcode’ ); function foobar_shortcode( $atts ) < $atts = shortcode_atts( [ 'name' =>‘Noname’, ‘age’ => 18, ], $atts ); return «Меня зовут мне лет»; >$atts['name']>
Теперь текст замениться на имя и возраст, которые вы введете в значение атрибутов.
shortcode_atts() определяет атрибуты, задает их стандартные значения, удаляет неопознанные атрибуты.
- Указывать атрибуты шорткодов желательно в нижнем регистре. В значениях атрибутов могут быть любые символы.
- Если в шорткод передадут атрибут, которого нет среди дефолтных для shortcode_atts(), он не будет учитываться.
Шорткоды с закрытием и вложенные в шорткод шорткоды
Шорткод из прошлого примера, прописывается вот так:
[trueurl anchor=»текст ссылки» url=»URL ссылки»]
Мы немного перестроим и запишем вот в таком виде:
[trueurl anchor=»текст ссылки»]URL ссылки[/trueurl].
В закрывающиеся шорткоды можно вставить другие шорткоды. Для этого нужно использовать do_shortcode().
function true_url_external( $atts, $shortcode_content = null ) < $params = shortcode_atts( array( 'anchor' =>‘Host4Biz’ ), $atts ); return » . $params[ ‘anchor’ ] . »; > add_shortcode( ‘trueurl’, ‘true_url_external’ )
Такой шорткод будет отображать ссылку на главную страницу сайта там, где вы его вставите.
Буферизация для вывода в шорткоде
Иногда не получается возвратить результат внутри заданного шорткода. В таких случаях решением будет буферизация.
function truehostfobiz_shortcode_callback() < ob_start(); // тут можно сразу выводить при помощи echo() // или get_template_part( 'entry' ); // или закрывать тег ?>и выводить сразу HTML $output = ob_get_contents(); // всё, что вывели, окажется внутри $output ob_end_clean(); return $output; >
Использование шорткодов с PHP
Тут задача в том, чтобы правильно использовать функцию do_shortcode().
Параметром функции может быть один шорткод:
echo do_shortcode( ‘[hostfobiz]’ );
Или шорткод с контентом:
echo do_shortcode( ‘[trueurl anchor=»Главная»]’ . site_url() . ‘[/trueurl]’ )
Также можно вывести содержание постов с шорткодом.
$content_shortcoded = do_shortcode( get_the_content() );
Итоги
Мы показали только часть примеров того, как можно применять шорткоды. Но понимание базовых принципов поможет вам развить навыки работы с кодом, реализовывать более сложные проекты на WordPress.
Мы продолжим знакомить вас с возможностями CMS и инструментами работы с ней. И, конечно, на Host4Biz вы всегда можете заказать надежный WordPress хостинг для ваших проектов.