Шорткоды в WordPress – создание, их использование и назначение
В этой статье я планирую собрать всю актуальную информацию по использованию шорткодов в Вордпресс – процесс создания, дополнительные параметры, хаки и т.п. Однако наполнять заметку буду постепенно (по мере изучения новой инфы). Сегодня рассмотрю вставку произвольного простого HTML-кода на страницу с помощью данного механизма. Также советую глянуть подборку лучших плагинов шорткодов в WordPress на данный момент – вполне вероятно, что искомая вами функциональность уже реализована там.
Что это и зачем нужно?
Вообще шорткод – это некая конструкция (заключенная в квадратные скобки), которую можно добавлять в текст постов/страниц и которая при просмотре вебсайта (т.е. во фронтенде) выполняет определенную функцию.
Самый простой пример – обычная галерея WP для статьи – в админке пишете [gallery], а на сайте увидите группу фотографий. Либо можете внедрить свой элемент [adsense], подставляющий ваш код Google Adsense прямо посреди контента.
То есть при создании шаблонов/модулей разработчики могут с помощью директивы add_shortcode определять некие шорткоды, которые позже обычный пользователь будет вставлять в текст. При этом редактору контента не требуется разбираться в программировании, HTML и др., а только выбрать нужную функцию и указать для нее параметры (если они есть).
В CMS допускается 3 типа данных конструкций:
- [primer] – базовый вариант;
- [primer id=’555′] – с использованием параметров;
- [primer] текст [/primer] – с текстом внутри.
Создание нового шорткода в WordPress
Изначально у меня стояла задача добавить посреди страницы «псевдораспорку» clearfix. Теоретически, существует сразу несколько вариантов ее решения:
- Можно было переключиться в HTML режим, но это бы мешало дальнейшему комфортному редактированию.
- Установить плагин добавления виджета на страницу Amr Shortcode Any Widget? – ради 1-2 строк кода решение слишком громоздкое.
- Новый редактор Gutenberg, кстати, содержит нужный мне элемент, но для того конкретного сайта пришлось его отключить.
В общем, исходя из всех этих вариантов было принято решение реализовать все через добавление шорткода. Ниже показан самый простой вариант (без параметров). Добавляем следующий код в ваш файл functions.php и др.
function clearfix_block( $atts ) { return '<div class="clearfix"></div>'; } add_shortcode('clearfix', 'clearfix_block'); |
Здесь в последней строке вы присваиваете конкретному имени шорткода специальную функцию, определенную ранее. Теперь при вставке конструкции [clearfix] система будет вызывать функцию clearfix_block(), которая через return возвращает обычный HTML код (в моем случае).
Если вам требуется передавать параметры, дополнительно используем shortcode_atts() – она позволяет не просто задать ряд допустимых переменных, но и указать для них значения по умолчанию. Например:
function mynew_shortcode( $atts ) { $myparams = shortcode_atts( array( 'class' => 'first', 'id' => 'second', ), $atts ); return "<div class='{$myparams['class']}' id='{$myparams['id']}'></div>"; } add_shortcode( 'add-mydiv', 'mynew_shortcode' ); |
После добавления в текст страницы шорткодов:
[add-mydiv class="qwe1" id="asd2"] [add-mydiv] |
Получим следующий результат:
<div class="qwe1" id="asd2"></div> <div class="first" id="second"></div> |
Надеюсь, логику работы вы уловили. Если будут какие-то вопросы по теме – пишем, добавлю ответы в пост.
Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!
Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:
- Як сховати відсутні товари в Woocommerce шорткодах та схожих товарах
- Сервіс AdMaven + плагін для монетизації трафіка на WordPress сайтах
- Плагіни для створення стрічки новин з біжучим рядком в WordPress
- Як змінити розміщення кнопки оформлення замовлення в WooCommerce
- Плагін WHWS Display In Stock Products First – відображення товарів в наявності першими
- Підписка MonsterONE: чи варто використовувати цей сервіс у 2023 році? (+5 продуктів, які треба скачати в першу чергу)
- Онлайн генератор ссылок на мессенджеры для WordPress и не только
- WooCommerce (46)
- Безопасность (12)
- Видео (6)
- Виджеты (28)
- Возможности (141)
- Вопрос-ответ (6)
- Начинающим (52)
- Новости (46)
- Оптимизация (23)
- Плагины (246)
- Сервисы (87)
- Хаки и секреты (87)
- Шаблоны (45)
- Записи и посты wordpress, оформление записи (5,91 из 7, голосов - 47)
- Проблема с адаптивными изображениями в Gutenberg редакторе WordPress (3,87 из 7, голосов - 45)
- Умный копирайт в footer.php для wordpress (5,63 из 7, голосов - 30)
- Обновление плагинов и тем в WordPress: автоматическое, через FTP, скрытие уведомлений (5,19 из 7, голосов - 31)
- Polylang — плагин для мультиязычных сайтов на нескольких языках в WordPress (4,42 из 7, голосов - 31)
- Плагин TinyMCE Advanced – wordpress текстовый редактор (6,35 из 7, голосов - 20)
- Рубрики и категории wordpress, функция wp_list_categories (6,05 из 7, голосов - 20)
- Дизайн Мания - о веб-дизайне и не только.
- Tod's Blog - все про заработок онлайн.
- Вебдванольные заметки - обзоры веб-сервисов.
- Советы по выбору холодильника LG с технологией No Frost
- Зачем нужны Wi-Fi ретрансляторы и как выбрать подходящую модель
- Введение в онлайн-казино Slotor777: многообразие игр и привлекательные бонусы
- Необходимость использования облачного хранилища в наше время, что важно и как выгодно?
- Спрощення процесу звітності за допомогою програми BAS Бухгалтерія
- Технологія підключення інтернету GPON та її переваги
- За що гравці найбільше цінують Lineage 2
- Для каких проектов нужна аренда виртуального сервера и что такое VPS