Шорткоди в wordpress

Шорткоди - це функції PHP, які можна задіяти всередині вмісту поста, використовуючи умовні позначення.

Наприклад стандартний вордпрессовскій шорткод # 91; gallery # 93; дозволяє вивести галерею всередині поста.

Зрозуміло справа, що даний функціонал дає розробникам WordPress приголомшливі можливості - на сьогоднішній день дуже актуальна вставка в пости форм, кнопок, слайдерів.

Так само, як у функції можуть бути аргументи, так і шорткод може мати власні параметри. Ще один приклад з шорткодом # 91; gallery # 93; :

У параметрі ids перераховані ID зображень, що входять в галерею, параметр size - розмір вставляються зображень.

Простий приклад створення шорткода

Створити свій шорткод не важче, ніж написати власну функцію PHP. Наприклад я вирішив створити шорткод # 91; misha # 93 ;. який при вставці в пост буде виводити URL головної сторінки сайту.

Код можете вставити в файл functions.php (я маю на увазі той, який знаходиться в директорії вашої поточної теми).

Ім'я шорткода має бути обов'язково в нижньому регістрі і містити тільки букви латинського алфавіту, цифри і символ підкреслення.

Шорткод з параметрами

Окей, я вже писав, що у шорткодов можуть бути свої параметри, давайте тепер подивимося як це робиться.

Як приклад я написав шорткод, який просто вставляє посилання в пост, яка відкривається в новій вкладці браузера target = "_ blank". Не думаю, що на ділі він може бути корисний, але для нас зараз головне - зрозуміти сам принцип роботи шорткодов.

Назви атрибутів шорткодов також рекомендується використовувати в нижньому регістрі. Значення ж атрибутів можуть містити будь-які символи.

Закриваються шорткоди і шорткод всередині шорткода

Давайте візьмемо шорткод з попереднього прикладу і трохи переколдуем його. Нагадаю, що шорткод виглядав так:
# 91; trueurl anchor = "текст посилання" url = "URL посилання" # 93; .

Що, якщо ми переробимо його наступним чином: # 91; trueurl anchor = "текст посилання" # 93; URL посилання # 91; / trueurl # 93; .

Крім того, всередину закриваються шорткодов можна вставляти і інші шорткоди (завдяки функції do_shortcode ()).

Відповідно до цього давайте переробимо наш код з попереднього прикладу:

Тепер шорткод такого вигляду # 91; trueurl anchor = "головна" # 93; # 91; misha # 93; # 91; / trueurl # 93; виведе посилання на головну сторінку вашого сайту (про шорткод # 91; misha # 93; я писав вище).

Незалежно від того, чи буде ваша кнопка текстова, або з іконкою, чи буде вона містити додаткові поля введення (параметри шорткода) чи ні - у всіх випадках PHP-код реєстрації кнопки буде однаковий.

У цьому прикладі для отримання URL папки з поточної темою я використовував функцію get_stylesheet_directory_uri (). true_button.js - власне сама кнопка, створіть цей файл в директорії з темою (або там, де вам зручно, але не забудьте в цьому випадку поміняти шлях до нього).

Займемося вмістом файла true_button.js. Отже, створимо для початку просту кнопку, яка буде вставляти шорткод # 91; misha # 93; .