Программирование shortcode-s — это просто

Шоткоды (short codes) — фирменная фишка WordPress. Они очень популярны, благодаря простоте внедрения новых кодов и легкости использования их редакторами. Вы обнаружите множество плагинов, которые так или иначе используют эту технику.

Что такое shortcodes?

«Короткие коды» — это дополнительные теги, которые записываются в квадратных скобках. Их можно использовать в редакторе статей в WordPress. При показе статей, WP подставляет вместо этих кодов результат работы соответствующей функции, отвечающей за данный код.

Некоторые шоткоды WP уже знает из коробки, например вставка галереи в статью — это шоткод вида:

Шот код состоит из ключевого слова и атрибутов. В пример с галерей ключ это — gallery, а атрибуты — это идущее далее параметры — columns, size, ids, orderby. С помощью атрибутов можно передать необходимые значения в функцию, которая выполняет работу шоткода при подстановке.

Другие шоткоды вы можете получить, устанавливая плагины.

Как запрограммировать собственные ShortCodes?

Давайте запрограммируем шот-код подстановки текущей даты. С чего начать? Если вы не собираетесь писать отдельный плагин, PHP код можно разместить в файле темы functions.php.

1. Регистрация shortcode

Для начала вам нужно зарегистрировать ваш короткий код и сказать WP имя функции, которая будет его обрабатывать:

Так мы заставим WP подставлять вместо [currentdate] результат работы функции shortcode_currentdate().

2. Обработка shortcode, аттрибуты

Теперь нужно написать код функции-обработчика. Давайте сделаем так, чтобы формат даты можно было передать в атрибуте format.

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

Далее остаётся только выдать дату в указанном формате.

3. Шоткод с контентом

Вообще-то, шоткоды могут содержать внутри себя HTML код.

В таком случае этот HTML код заменяется значением, возвращаемым обработчиком. А полностью функция выглядит вот так:

Параметр $content передаётся и в нашем случае с currentdate, но мы его не используем.

Никакой магии

Вот так, буквально в несколько строк, можно добавить нужные вам короткие коды в ваш шаблон WordPress.

Теперь, добавляя в статью, в примеру, [currentdate format=»d.m.Y»] вы будете получать текущую дату в нужном формате.

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

Активация shortcodes в виджетах

В статьях обработка shortcodes включена по-умолчанию. А вот в виджетах такая обработка не выполняется. Досадно, но исправимо.

Решается данная задача добавлением всего одной строки кода в functions.php вашего шаблона.

После этого все текстовые виджеты начитают понимать и подставлять «короткие коды».

Использование шоткодов в PHP

Думаю, что вы догадались, что функция WP do_shortcode($html) вызывает активацию коротких кодов в переданном HTML. В PHP (WP) вы можете использовать вызов этой функции, чтобы превратить шоткод в конечный шаблон:

Shortcodes Ultimate плагин

Нельзя обойти стороной этот плагин в контексте данной статьи. Shortcodes Ultimate добавляет почти полсотни шоткодов в вашу сборку на WP.

Любой проект найдет полезные элементы в данной «солянке» для оформления статей. Начните с изучения страницы с примерами.

Написать комментарий

Мало букафф? Читайте есчо !

Как вывести категорию товаров Woocommerce в нужном месте?

Июль 14, 2017 г.

Woocommerce показывает каталог товаров (витрину) на странице - /shop/, которая создаётся автоматически при установке плагина. Здесь выводятся ...

Читать

Обработка шоткодов в Contact Form 7

Июль 22, 2017 г.

Плагин Contact Form 7 позволяет конструировать формы, создавая их шаблоны в специальном конструкторе. Это (+CSS) позволяет придать форме любой внешний ...

Читать

 

Комментарии к «Программирование shortcode-s — это просто»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: