Как создать шорткод shortcode и как записать переменные в add_shortcode WordPress

Шорткоды (shortcode) в WordPress занимают достойное место и позволяют расширять возможности вашей темы, но много разработчиков их не используют в виду не понимания или нежелания делать качественные темы.

Например, мне не раз приходилось смотреть как горе программисты суют яваскрипт или стили в посты WordPress хотя там им точно не место. Ведь есть же простой shortcode который можно добавить в файл функции темы через add_shortcode и получить чистый и качественный код.

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

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

Создать шорткод / shortcode WordPress

Задача создать шорткод в WordPress не такая уж и сложная. Для этого нужно создать PHP функцию и записать ее в файл вашей теми. Например, создадим функцию myTxt и запишем ее в functions.php:

function myTxt(){
$str="<h1>Заголовок</h1><p>Текст описание</p>";
return $str;
}

 

также в function.php нужно записать вот такой коротенький код:

add_shortcode( 'myCodeInPost', 'myTxt');

 

Все, у вас есть собственный шорткод который можно вот так вставить в пост: [myCodeInPost]

Шорткод wordpress с параметрами

Теперь немного усложним задачу, попробуем передать в наш шорт код какие то переменные с поста. Предположим в шорткод вордпрес нужно передать информацию с поста через его параметры. У меня в примере будет 2 параметра шорткода - это заголовок и текст описание, которое я хочу выводить. Модернизируем нашу функцию myTxt вот таким образом:

function myTxt($atts, $content = null){
$str="<h1>".$atts['title']."</h1><p>".$atts['txt']."</p>";
return $str;
}

 

add_shortcode( 'myCodeInPost', 'myTxt'); - оставляем как и было, без изменений

А в посте пишем вот такой вызов шорткода: [myCodeInPost title="Мой заголовок" txt="Описание текстовое"]

Если вы заметили, у нас еще есть переменная $content, - она отвечает за текст внутри шорткода. Например, если мы хотим вывести специфический текст, выделить его как то. То мы можем модернизировать шорткод таким образом:

function myTxt($atts, $content = null){
$str="<h1>".$atts['title']."</h1>";
$str="<div class='newStyle'>".$content."</div>"
return $str;
}
add_shortcode( 'myCodeInPost', 'myTxt');

Вызывать этот шорткод с параметрами мы будем вот так: [myCodeInPost title="Мой заголовок" ]Текст для модернизации[/myCodeInPost]

Все ваш шорткод с параметрами готов, можете использовать на здоровье.

Как вывести шорткод wordpress можно узнать сдесь.

Комментарии к записи «Как создать шорткод shortcode и как записать переменные в add_shortcode WordPress»:
Сделать заказ
Онлайн помощь по WordPress