Как создать свой собственный шорткод WordPress

Шорткоды — очень мощная функция WordPress. По сути, шорткод является заполнителем для некоторого другого контента. Хорошо известный шорткод — это шорткод встроенной галереи. Просто введите текст в редактор WordPress, и он будет заменен галереей изображений, взятых из медиа, загруженных в пост.

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

HTML-код, который вам нужно написать, чтобы это произошло, довольно здоровенный; использование шорткода делает его значительно быстрее. Если вам нужно выполнить какие-либо повторяющиеся задачи в редакторе сообщений или вам нужен определенный формат HTML, который требует времени для разметки, вы можете обнаружить, что ваш собственный шорткод может помочь.

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

«По словам владельца нашей компании — Даниэля Патаки, — главная цель сайта — заработать много денег. Даниэль Патаки считает, что обмен информацией также важен».

Вместо написания «Даниэль Патаки» мы могли бы использовать шорткод.

«По словам владельца нашей компании — [owner] — главная цель сайта — заработать много денег. [owner] считает, что разделение также важно «.

Это позволило бы нам изменить имя владельца в одном месте, поэтому в случае смены владельца все экземпляры нашего шорткода будут использовать новое имя.

Кодировать это на самом деле довольно просто. Нам нужно использовать функцию add_shortcode (), чтобы сообщить WordPress о нашем шорткоде, а затем создать нашу функцию для обработки вывода:

add_shortcode (‘owner’, ‘owner_output ‘);
function owner_output () {
возврат ‘Даниэль Патаки ‘;
}
Обратите внимание, что этот код должен быть добавлен в файл functions.php вашей темы или в файлы вашего плагина. Если вы используете стороннюю тему, я рекомендую использовать детская тема,

Функция add_shortcode требует 2 параметра: первый параметр — это шорткод, который WordPress пытается сопоставить — это то, что вы пишете в квадратных скобках — второй параметр — это имя функции, которая обрабатывает вывод, что полностью зависит от нас.

Внутри нашей функции обработки вывода нам нужно вернуть вывод, который мы хотим заменить нашим шорткодом.
Атрибуты шорткода
Важно знать, что наши шорткоды также могут использовать атрибуты. Например, если вы хотите убедиться, что владелец веб-сайта выделен жирным шрифтом, вы можете сделать это, создав атрибут с именем «полужирный», и когда для него установлено значение true, будут добавлены соответствующие теги HTML.

add_shortcode (‘owner’, ‘owner_output ‘);
function owner_output ($ atts) {
$ atts = shortcode_atts (массив (
‘Жирный = = ложь
), $ atts);
if ($ atts[‘bold’] == правда) {
возвращение ‘Даниэль Патаки«;
}
еще {
возврат ‘Даниэль Патаки ‘;
}
}
Это выглядит намного более пугающим, но на самом деле это довольно просто. Прежде всего, начните с визуализации того, как будет использоваться ваш шорткод. При наборе вашего шорткода вы должны сделать это:

[owner bold=’true’]

Теперь мы знаем, что у нас будет атрибут с именем «жирный».

В нашей функции обработки вывода мы используем функцию shortcode_atts (), чтобы проанализировать все атрибуты и дать некоторые из них значения по умолчанию. Мы позаботимся о том, чтобы, если вы не указали значение «жирный шрифт», тогда для него будет установлено значение false.

Далее мы просто посмотрим на значение атрибута bold. Если это правда, мы возвращаем имя владельца в строгом теге, в противном случае мы просто возвращаем его как есть.
Шорткод
Контент шорткода обычно используется, когда часть контента должна получить специальное форматирование HTML. Давайте предположим, что ваш сайт использует такие необычные названия:

Мой заголовок

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

[title icon=’check’]Мой заголовок[/title]

Обратите внимание, что мы используем открывающий тег шорткода, который имеет некоторые параметры и закрывающий тег шорткода. Содержимое внутри (My Title) передается нашей функции генерации вывода в качестве второго параметра.

add_shortcode («title», «title_output»);
функция title_output ($ atts, $ content) {
$ atts = shortcode_atts (массив (
‘Значок ‘=>‘ карандаш’
), $ atts);
возвращение ‘

‘. $ контент. «

«;
}

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

Есть ряд вещей, которые вы можете сделать, чтобы упростить свою жизнь (даже не кодируя), например, упростить процесс редактирования и написания. Допустим, вы пишете обзоры игр, и в каждом из них вам нужно ввести таблицу, подобную этой:

заглавиеразработчикЖанрЦенаНаш вердикт
Никогда не одинокUpper One GamesIndie Casual Adventure$ 14,995/5

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

[final_table title=»Never Alone» dev=»Upper One Games» genre=»Upper One Games» price=»14.99″ rating=»5″]

Ваша функция вывода короткого кода будет отвечать за добавление всей таблицы и других битов контента вокруг этой информации, что-то вроде этого:

add_shortcode («final_table», «final_table_output»);
function final_table_output ($ atts) {
возвращение ‘

заглавиеразработчикЖанрЦенаНаш вердикт
‘. $ ATTS[‘title’] , ‘‘. $ ATTS[‘dev’] , ‘‘. $ ATTS[‘genre’] , ‘$ ‘. $ ATTS[‘price’] , ‘5 / ‘. $ ATTS[‘rating’] , ‘

«;
}
Пасхальное яйцо
Итак, вы зашли так далеко, что приближается время Рождества, поэтому я подумал, что я добавлю немного пасхального яйца. Рождественский обратный отсчет это плагин, который дает вам возможность добавить на ваш сайт новогодний обратный отсчет в стиле Санта в виде боковой панели или шорткода.

Установить, активировать и использовать [countdown] в любом месте вашего сообщения, чтобы добавить г-на Клауса к вашему сообщению.
Вывод
Я думаю, что шорткоды хороши тем, что позволяют некодерам упростить свои рабочие процессы и могут усложниться по мере расширения ваших знаний в области кодирования. Я предлагаю попытаться создать короткий код здесь и там, поскольку у вас есть более сложные потребности.

Для получения списка всех шорткодов по умолчанию посмотрите на Короткий код раздел в кодексе WordPress. Для получения дополнительной информации взгляните на кодекси вы также можете добавить в закладки Генератор коротких кодов который может сэкономить вам несколько нажатий клавиш при создании функций генератора.

Похожие записи

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

Ваш адрес email не будет опубликован.