Создание шорткодов — урок 30
Есть несколько простых способов создать шорткоды, самый простой способ это использовать специальные плагины такие как Shortcode Exec PHP (сейчас у этого плагина нашлась уязвимость и пришлось отказаться от него), можно конечно пользоваться массой других. Так как наша задача сделать тему которую простой человек сможет с минимальными знаниями установить и настроить, при этом не устанавливая дополнительных плагинов, то для создания шорткодов мы не будем использовать плагины. Приступим к изучению Shortcode API.
Shortcode API в WordPress своими словами
Шорткоды можно прописывать как в плагинах так и в файле functions.php создаваемой нами темы, так как мы создаем собственную тему, то будем использовать второй способ. Для удобства чтения кода мы вынесем его в отдельный файл.
Зайдем в файл functions.php и подключим еще один файл под названием shortcode.php в котором будут храниться наши шорткоды.
require(‘functions/shortcode/shortcode.php’);
Создадим в нужном месте файл.
Пример 1
Для начала необходимо разобраться как работают шорткоды, для этого сделаем простой код и поместим его в shortcode.php добавляем код функции add_shortcode().
1 2 3 4 5 6 7 |
<?php function multiplication_func( $atts ) { $res = $atts['var']*2; return 'Результат умножения переменной из шорткода на 2 = '.$res; } add_shortcode( 'multiplication', 'multiplication_func' ); ?> |
После добавления этого простого кода мы можем зайти на страницу Shortcodes которую мы добавляли в предыдущих уроках и добавить наш шорткод [multiplication var=»5″].
Посмотрим на результат работы функции которая умножает переменную var на 2 на сайте:
Важно понимать, так как в тексте статей в WordPress код прописывать нельзя, то именно для этих целей и были придуманы шорткоды. При помощи шорткодов можно выполнять сложные функции, задав всего несколько параметров.
Пример 2
Продолжаем изучение на примерах и усложним наш пример в новом шорткоде и новой функции. В новой функции мы будем умножать 2 переменных одна на другую, а если переменные были не заданы, то подставим значения по умолчанию.
Вставьте новый код ниже функции multiplication_func() в файле shortcode.php
1 2 3 4 5 6 7 8 9 10 |
function multiplication_calc_func( $atts ) { // значение переменных по умолчанию, если пользователь их не указал $atts = shortcode_atts( array( 'var' => 0, 'var2' => 0 ), $atts, 'multiplication_three' ); $res = $atts['var'] * $atts['var2']; return 'Результат умножения ('.$atts['var'].' * '.$atts['var2'].') = '.$res.'<br />'; } |
Для тестирования работы нового шорткода, в контенте любой страницы вашего сайта вставьте 2 шорткода.
[multiplication_calc]
[multiplication_calc var=»2″ var2=»2″]
То что получилось:
Результат умножения (0 * 0) = 0
Результат умножения (2 * 2) = 4
Пример 3
Использование парных шорткодов в WordPress
Для создания парного шорткода добавим простой пример после функции multiplication_calc_func() в файле shortcode.php.
1 2 3 4 |
function wpadmin_func( $atts, $content = "" ) { return "content = $content"; } add_shortcode( 'wp-admin', 'wpadmin_func' ); |
Для тестирования работы нового шорткода, вставьте его в контенте любой страницы вашего сайта.
[wp-admin]wp-admin.com.ua — уроки wordpress[/wp-admin]
По сути в этом примере показано как использовать, то что находится внутри парного шорткода на выводе будет выводиться просто текст. Попробуйте использовать созданный шорткод.
Надеюсь урок вам был интересен и полезен, в следующем уроке мы научимся создавать более сложные шорткоды. Удачи в разработке удобных и качественных сайтов.
Скачивайте файл примера

/*

- Базовый курс по веб-дизайну;
- Верстка сайтов;
- Общий курс по CMS WordPress и продолжение курса по разработке шаблонов;
- Разработка сайтов на PHP.