Шорткоды в WordPress

  • 02.03.2020 11:37
  • 0
  • 417

Шорткоды в Вордпресс – это специальные короткие обозначения, которые вставляются в текст страницы, и позволяют выводить заданный контент.

К примеру, если Вы делаете таблицу, которая будет повторяться на нескольких страницах сайта (скажем, рейтинг казино), ее можно интегрировать в текст несколькими способами:

  1. Скопировать и вставить там, где нужно. Но если какие-то данные изменились (например, партнерская ссылка), то менять их придется во всех местах, где вставлена таблица. Это неудобно и долго.
  2. Прописать таблицу внутри функции шорткода в файле functions.php, и вставлять на страницы с помощью shortcode. В данном случае, если изменятся данные в одной или нескольких ячейках, их нужно будет поменять только в функции. На всех страницах, где есть шорткод таблицы, данные изменятся автоматически.

Как Вы уже поняли, подобная технология дает вебмастеру потрясающие возможности по кастомизации страниц. А главное – позволяет экономить массу времени при вставке или редактировании повторяющихся блоков контента.

wp шорткоды

Далее мы рассмотрим возможности WordPress Shortcode детальнее, поговорим о стандартных функциях, плагинах и создании собственных блоков.

Стандартные шорткоды Вордпресс

Понятное дело, что в системе WordPress есть уже заготовленные шорткоды, которые позволяют работать с популярными видами контента:

  1. embed — позволяет встраивать в страницы файлы с ресурсов, которые используют технологию oEmbed. Поддерживаются тексты, видео, аудио, изображения и виджеты. Список ресурсов с поддержкой oEmbed достаточно большой: YouTube, Facebook, Vimeo, Instagram и т.д.
  2. caption – дает возможность встраивать картинки с описанием. Может иметь параметры id, class для задания стилей и идентификатора картинки. Width и height – для задания размеров изображения. Результатом работы шорткода будет div, в котором находится картинка с указанным id, стилями и размерами, а также параграф с подписью.
  3. audio – очевидно, что он отвечает за встраивание звуковых файлов в запись.
  4. video – вставка видео
  5. playlist – внедрение плейлистов (аудио и видео)
  6. gallery – наиболее часто используемый шорткод, который дополняет страницу галереей изображений.

Это основные из стандартных шорткодов. Если по каким-то причинам их недостаточно для достижения Ваших целей, то можно создавать дополнительные. Для этого есть два способа:

  1. Плагины, которые позволят создавать самые разные блоки контента, и вставлять их в страницы сайта.
  2. Создание собственных шорткодов под задачи определенного проекта. Мой любимый метод.

Плагины шорткодов WordPress

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

Бесплатные

  • Shortcodes Ultimate
  • WordPress Shortcodes
  • Fruitful Shortcodes
  • WP Shortcode by MyThemeShop

Платные

  • Vision
  • Supreme Shortcodes
  • Intense

Создание собственных коротких кодов без плагинов.

Это моя любимая часть разговоров о шорткодах в Вордпресс. Ведь здесь вебмастера ограничивает только его фантазия.

Давайте начнем с примера короткого кода, который будет выводить ссылку на главную страницу сайта:


function true_glavnaya_func( $atts ){

return site_url();

}

add_shortcode( ‘glavnaya’, ‘true_ glavnaya _func’ );

Данный код нужно написать в конце файла functions.php. Теперь при добавлении в запись шорткода [glavnaya], в этом месте будем видеть ссылку на главную страницу нашего сайта. Но пока что это выглядит некрасиво. Нужно добавить параметров и оформить все красиво:


function true_glavnaya_external( $atts ) {

$params = shortcode_atts( array(

‘anchor’ => Главная страница, // параметр 1

‘url’ => ‘https://bigaff.ru/‘, // параметр 2

), $atts );

return «<a href='{$params[‘url’]}’ target=’_blank’>{$params[‘anchor’]}</a>»;

}

add_shortcode( ‘glavnaya’, ‘true_glavnaya_external’ );

Так лучше. Теперь ссылка будет выводиться с анкором. Теперь это – настраиваемый модуль сайта, в котором мы можем установить любой анкор и ссылку. А если добавить пару строк стилей, получится отличная кнопка.

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

С помощью подобной функции я создал себе короткие коды для своих сайтов о казино:

  1. Кнопки перехода на сайт казино
  2. Таблицы рейтингов

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

Полезные советы

  1. Шорткоды можно применять и в сайдбаре, встраивая их в виджеты. Для этого нужно активировать такую возможность в файле functions.php:
    add_filter('widget_text', 'do_shortcode');
  2. Короткие коды можно встраивать также и в шаблоны сайтов. Делается это вставкой в нужном месте следующего кода:
    echo do_shortcode( '[glavnaya]' );
  3. Можно создавать короткие коды, вставка которых будет реализована с помощью кнопки в редакторе поста. Также можно добавлять кнопками возможность управлять параметрами шорткодов. Это предоставляет нам вообще безграничные возможности по кастомизации постов, делая их предельно полезными для пользователей.

Не так давно я нашел код, который позволяет ограничить доступ к контенту в зависимости от наличия регистрации у пользователя:


function pr_shortcode_access($attrs, $content = null){
// Преобразуем элементы массива $attrs в переменные. Роль по умолчанию - Администратор

extract(shortcode_atts(array(

‘role’ =&amp;amp;gt; ‘administrator’

),$attrs));

// Если переменная $content пустая, ничего не возвращаем и прерываем выполнение шорткода

if(empty($content))

return;

// Если залогиненый пользователь может изменять настройки сайта, т.е. является администратором,

// нет необходимости производить дальнейшую проверку. Администратор должен видеть все, поэтому

// просто выводим содержимое переменной $content

if(current_user_can (‘manage_options’))

return $content;

// Для всех остальных пользователей доступ по умолчанию запрещен, он будет разрешен если

// все проверки будут пройдены.

$access = false;

// Преобразуем переменную роль в массив. Это позволит нам открывать доступ к контенту сразу

// для нескольких ролей (перечисленных через запятую) одновременно.

$roles = explode(‘,’, $role);

// Если пользователь не залогинен и гостям разрешено видеть контент — разрешаем доступ

if(!is_user_logged_in() &amp;amp;amp;&amp;amp;amp; in_array(‘guest’, $roles)){

$access = true;

}

else {

// Теперь необходимо узнать роль текущего пользователя

global $current_user;

// Т.к. ролей у пользователя может быть несколько, они находятся в массиве

$user_roles = $current_user-$roles;

// Теперь для каждой роли, указанной в шорткоде проведем проверку

foreach($roles as $role){

// Если в массиве ролей данного пользователя есть эта роль — разрешаем доступ

if(in_array($role, $user_roles))

$access = true;

}

}

// Если доступ разрешен, выводим содержимое переменной $content, т.е. то, что находится внутри

// тегов нашего шорткода

if($access)

return $content;

}

add_shortcode(‘access’, ‘pr_shortcode_access’);

Вставка в пост производится следующим методом:

[access role=»subscriber»]Скачать файл[/access] [access role=»guest»]Скачивание доступно только зарегистрированным пользователям. Пожалуйста Зарегистрируйтесь[/access]

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

Комментарии (0)
Чтобы оставить комментарий, необходимо войти на сайт
Войти
Последние комментарии
Мостебт Партнерс предлагают очень хорошие ставки, так что даже небольшое количество трафика дает возможность зарабатывать. Я не гонюсь за огромными выплатами, 400 долларов в месяц вполне достаточно. Этого в первый месяц удалось достичь практически без усилий. Может буду чуть-чуть наращивать обороты, но пока и так все хорошо. Это как небольшой дополнительный заработок для меня. ДУмаю, что можно сделать и основным, если захотеть, так что советую всем.
Уже работал с разными партнерками, но считаю, что mostbet partners одна из самых адекватных в плане технической поддержки. она работает круглосуточно, и всегда готова помочь, Если какие-то проблемы, то сразу решаются все проблемы. Я обращался несколько раз, первый, когда настраивал все, а потом уже при первой выплате. Возникли вопросы по статистике, но все объяснили, показали, так что вопросов вообще не осталось.
На данный момент. среди множества ПП, не нашел для себя ни одной лучше, чем mostbet partners. Не знаю, с чем это связано, но условия здесь наиболее выгодные. Шейва не заметил, что очень радует. Холда даже на первых порах не было, деньги сразу выплачивали. Трафик в сфере гемблинга мне приносит довольно большой доход, который я теперь не хочу терять.
Пользователи