Как вставить шорткод в php wordpress
Перейти к содержимому

Как вставить шорткод в php wordpress

  • автор:

Как вставить шорткод (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, добавьте новый блок с типом Шорткод в процессе редактирования записи:

Добавление шорткода в редакторе блоков Gutenberg

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

Добавление шорткода в классическом редакторе WordPress

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

Добавление шорткода в сайдбар с помощью виджета

Для вставки шорткода в шаблон 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
Как то так пытаюсь впихнуть)) ‘; ?>
26 янв 2023 в 8:23

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Все шорткоды, которые выполняет WP, выполняются через do_shortcode() , поэтому шорткод нужно вызывать через эту функцию: do_shortcode(‘[POST_MODIFIED]’)

Вдобавок ко всему, строки сами себя не соединят, конкатенация в php делается через оператор . .

А дальше только все это соединить:

  ?> 

Шорткоды в WordPress: что это, зачем нужны и как с ними работать?

Шорткоды в WordPress (shortcode) — это конструкция в тексте, которая создает на сайте нужный функциональный элемент, например, кнопку, форму контакта и пр. CMS обрабатывает шорткоды с помощью функции PHP. Шорткоды впервые появились в WordPress 2.5.

Например, самый простой шорткод для создания галереи выглядит вот так:

Этот достаточно простой, доступный по умолчанию, инструмент расширяет возможности разработчиков очень существенно. Часто с помощью шорткодов добавляют в посты кнопки, посты, слайдеры и пр. Это может быть хорошей альтернативой, если вы не хотите устанавливать Elementor и другие тяжеловесные конструкторы страниц.

Шорткоды не вытеснил даже встроенный блочный редактор Gutenberg.

Иногда, для более сложных задач в шорткоды добавляют параметры. Например, так выглядит тот же шорткод галереи с параметрами:

Параметр ids содержит номера изображений в галерее, параметр size отвечает за размер создаваемого элемента.

Список стандартных шорткодов, работающих в WordPress

В CMS встроен набор шорткодов, которые работают без дополнительных действий. Система распознает такие элементы:

.

Как сделать, чтобы шорткоды отображались без выполнения?

Иногда на сайтах WordPress нужно просто показать шорткоды без выполнения. Для этого их экранируют. Как это делается? Просто добавьте еще одни квадратные скобки.

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

Если код уже использовался на сайте, вы увидите его без двойных скобок.

Как создать свои шорткоды в WordPress?

Вы можете создавать собственные шорткоды в WP, чтобы расширить возможности сайта. Разберем два способа. Сначала посмотрим, как создавать шорткоды без навыков работы с кодом, с помощью плагинов.

Инструментов такого типа много. Подробно расскажем про самый популярный плагин для шорткодов.

Shortcodes Ultimate: самый удобный инструмент работы с шорткодами

Функциональный и очень удобный плагин для шорткодов. Кроме того, компонент полностью русифицирован. Среди заявленных возможностей и преимуществ:

  1. более 50 видов активных шорткодов;
  2. функции быстрого добавления;
  3. адаптивность всех создаваемых элементов;
  4. полная совместимость с любыми темами и плагинами для WP;
  5. легкая доработка кода;
  6. собственный виджет;
  7. совместимость с gutenberg.

Также есть несколько премиум дополнений к плагину.

Основные настройки плагина

Что делать, чтобы плагин работал правильно? После стандартного скачивания и активации в меню появится раздел Шорткоды. В меню важно обратить внимание на два раздела:

  1. Пользовательский CSS код. Не нужно вставлять стили в шаблон, если хотите поменять внешний вид стандартных элементов.
  2. Префикс нужен, чтобы чтобы использованые шорткоды не конфликтовали с кодом в плагинах. Можно менять значение на собственное.

Доступные shortcodes

Следующий раздел содержит доступные варианты шорткодов. Коллекция элементов очень большая. Выбрав одну из опций, вы найдете полную справку по использованию и настройке шорткодов.

Во вкладке указано все:

  1. внешний вид элемента, за который отвечает шорткод;
  2. пример кода;
  3. все параметры и операторы в блоке.

Добавление в записи или на страницы

Чтобы добавить шорткод в запись или на страницу после установки плагина, найдите кнопку Добавить шорткод в панели текстового редактора на странице.

Так можно просто выбрать нужный шорткод для нужной части страницы.

Добавление в виджеты

Плагин также позволяет добавить шорткоды в виджеты. В панели настройки внешнего вида спускаемся вниз, находим виджет для шорткодов и перетаскиваем к активным.

Плагин очень удобный в использовании. Цена премиум версии 30 USD за пожизненную лицензию. Эти расходы оправдают себя на 100%.

Другие плагины для создания и вставки шорткодов

Есть еще несколько плагинов, с помощью которых можно создавать и вставлять шорткоды. Эти компоненты уступают по функциональности, но тоже могут быть полезны. Самые популярные и удобные:

  1. Shortcoder;
  2. CSSIgniterShortcodes;
  3. 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 «Меня зовут мне лет»; >

Теперь текст замениться на имя и возраст, которые вы введете в значение атрибутов.

shortcode_atts() определяет атрибуты, задает их стандартные значения, удаляет неопознанные атрибуты.

  1. Указывать атрибуты шорткодов желательно в нижнем регистре. В значениях атрибутов могут быть любые символы.
  2. Если в шорткод передадут атрибут, которого нет среди дефолтных для 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 хостинг для ваших проектов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *