Шорткоды в WordPress

  • 02.03.2020 11:37
  • 0
  • 84

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

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

  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)
Чтобы оставить комментарий, необходимо войти на сайт
Войти
Последние комментарии
alexpier1969dot@gmail.com
пару месяцев пока потестил, первая выплата пришла норм.
slavapetrovsto@mail.ru
Приветствую кто читает мой отзыв,с казино работаю третий год,потом стал работать с партнеркой,меня в принципе все устраивает го есть моменты которые скажем так не очень,например если показанно что 500 000тр сделанно игроками общая сумма прибыли составила 200 000тр мне выплата 30% составила 60 000 но так как в прошлом месяце был минус 30 000,10 000 не доплатили,в итоге 50 000тр ну это ладно но хотелось бы как то видеть отчет за дипозиты от куда я знаю что с 500 000тр 300 000 игроки выйграли?? Только верить тому что есть,у меня чат и я с игроками общаюсь скидывают свои скрины в чат там такой суммы их выйгрышей и не бывало если только несколько больших за пару лет,напрашиваеться вопрос а где эти деньги? Просто верить тому что вычесляеться на сайте и словам менеджеров что то не охотно вериться,если бы можно было бы видеть сколько выигрывают и проигрывают то тогда можно было бы знать и не беспокоиться что тебя обманывают но сейчас приходиться верить словам,и еще один момент в правилал партнерки выплаты произвлдяться с 1 по 5 число не когда не получал 1,2,3,4, а всегда только 5 числа и то восновном вечером так напишите что 5 числа выплаты зачем мне ждать 5 дней когда я буду знать что пятого выплата,а так восномном не плохая партнерская программа советую всем
Pin Up Partners
alexeimatsko@mail.ru - Добрый вечер! мы никогда не срезаем рейты. Если трафик проявляет слабую активность и высокий отвал и проявляет признаки мотива или мисслида, и по мнению наших аналитиков не окупится - то мы переводим слитый объём на ревшару. Не можем вас идентифицировать в системе по этому сообщению (мейлу) - готовы предоставить когортный анализ по вашему трафику виде скринов чтобы ни у кого не было вопросов к мотивации действий наших менеджеров.
Пользователи