Вордпресс shortcode. Как сделать произвольный шорткод в WordPress? WordPress шорткод — кто ты

Шорткоды - это разный текст, который заключается в квадратные скобки. В WordPress они являются самым эффективным способом вставить внутрь записи определенный текст, блок или другой элемент. Давайте рассмотрим как создать простейшие шорткоды для своего сайта.

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

Как и со всеми функциями, добавление осуществляется в файл functions.php , в самый его конец, но перед закрывающим тегом ?> . Назовем функцию text_short . Внутри нее добавим нужный текст, который потом выведем вызовом.

Function text_short() { return "Любой нужный текст. который нужно выводить внутри текста Вашей записи."; }

Это еще не конец. Это просто функция и ее нужно еще превратить в шорткод. Для этого, сразу после нашей функции, нужно добавить функцию add_shortcode , в которой мы и создадим наш шорткод. Готовая строка будет иметь такой вид:

Add_shortcode("ts", "text_short");

Внутри функции add_shortcode, два названия. ts - это название шорткода, который будем вызывать. Название может быть любым, каким Вы его придумаете. text_short - это название функции, которую мы придумали для вывода текста. Готовый код целиком выглядит следующим образом:

Function text_short() { return "Любой нужный текст. который нужно выводить внутри текста Вашей записи."; } add_shortcode("ts", "text_short");

Шорткод создан, теперь нужно его вызвать для вывода. Когда будете писать текст записи просто добавьте вот такой вот вызов.

Вот так все просто.

  • Создаем функцию
  • Делаем ее шорткодом
  • Вызываем внутри записи
  • Function reklama() { return " (adsbygoogle = window.adsbygoogle || ).push({}); "; } add_shortcode("rek_sh", "reklama");

    И шорткод

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

    Создаем шорткод

    Function gb_bgrnd($attr,$content= null){ return" .redbg{ background-color: #f00; padding:3px 5px;} ".$content.""; } add_shortcode("gbb_sh", "gb_bgrnd");

    Данный шорткод будет выделять заключенный в него текст. Он будет иметь красный фон. Можете задать свои стили. Чтобы все работало, заключите нужный текст в шорткод, например так:

    Текст что будет выделяться

    Для вызова шорткода нужно просто написать в нужном месте записи:

    Как вставить шорткод в виджет WordPress

    Иногда бывают такие случаи, что шорткод нужно вывести не в тексте записи а в других местах Вашей темы. таким местом может оказаться, например, текстовый виджет. По умолчанию этого сделать нельзя, но добавив фильтр, этот вопрос можно решить. Добавьте в functions.php такую строку:

    Add_filter("widget_text", "do_shortcode");

    Как вывести шорткод в любом месте темы WordPress

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

    Еще встречаются шорткоды немного иного вида от плагинов. Все они выводятся в записи, но вдруг нужно сделать это вне ее. это касается шорткодов типа:

    У них вид как у закомментированного текста. поэтому стандартные методы не подойдут. Такие шорткоды использует, например, плагин - WpShop . Для вывода таких шорткодов от плагина, нужно использовать такой способ с фильтром:

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

    Используете ли Вы шорткоды у себя на сайте?

    На этом все, спасибо за внимание. 🙂

    Использование шорткодов в вордпресс позволяет создавать в текстовом редакторе оригинальное «сложное» оформление для контента без HTML или специальных знаний. Вы сможете добавлять кнопки, табы, слайдеры типа «аккордеон», разбивать тексты на колонки или выделять их определенным цветом, вставлять красивые списки или , таблицы с ценами, галереи/видео и т.д. и т.п. Шорткоды помогут сделать ваш сайт более функциональным, а контент — выразительным и эффективным. Данное решение подходит для многих задач и весьма полезно в работе.

    Вопрос подключения шорткодов в вордпресс имеет определенные нюансы, о которых я расскажу в отдельной статье. Сегодня же предлагаю ознакомиться с соответствующими плагинами — это самый простой способ получить уже готовый набор функций без каких-либо дополнительных настроек. В данной заметке рассмотрим наиболее популярные модули. По аналогии с (лучших WP плагинов) расположу выбранные плагины шорткодов в виде рейтинга. Критерием отбора будет оценка пользователей и число скачиваний.

    WP Shortcode by MyThemeShop

    70000+ загрузок, оценка — 5.

    • 6 разновидностей шорткодов: блоки, табы, кнопки, слайдер аккордеон и т.п.;
    • 6 уникальных решений: форма логина, подсветка и т.п.;
    • разбиение на колонки (до 5-ти);
    • поддержка FontAwesome для списков, табов и других элементов;
    • поддержка адаптивности дизайана.
    • Здесь присутствуют все классические элементы — от табов, раскрывающихся списков до кнопок и разного рода уведомлений.

      Итого. Если вы ищете максимально простой shortcode wordpress плагин, то последние два варианта (Arconix Shortcodes, Simple Shortcodes) вам вполне подойдут. Хотите создавать свои уникальные шорткоды с параметрами? — посмотрите детальнее модуль Shortcoder. Самые функциональные решения — Shortcodes Ultimate и Easy Bootstrap Shortcode. Но из этих двух первый, мне кажется, все равно получше будет. Я бы начал именно с него.

      А какой плагин шорткодов в вордпресс вы используете?

    Было ли у вас такое, что хотелось добавить какой-то специальный контент на страницу или запись блог на WordPress, но вы не были уверены как именно это лучше сделать? Может быть вы хотели встроить виджет Twitter или другой контент, вызываемый с другого сайта через API? Получится ли без проблем добавить его на страницу? К счастью, у WordPress есть такая фишка как шорткод , который и поможет в решении вышеописанных задач. Эта статья научит вас создавать, устанавливать и использовать шорткоды в вашем блоге на ВП. Давайте разберемся для начала, что такое этот шорткод.

    WordPress шорткод — кто ты?

    Вкратце, шорткод — это специальный тег, который вы вставляете в пост, и этот ‘короткий код’ заменяется различным контентом уже при выводе записи конечному пользователю сайта. Если вы когда-то встраивали WordPress галерею в свой блог, то видели встроенный в движок шорткод.

    Когда вы загружаете страницу с имеющемся на ней шорткодом [ gallery], Ворпдесс полностью заменяет [ gallery] кодом, который собственно и отображает галерею ваших изображений.

    Как видно из вышеприведенного примера, шорткод похож на обыкновенный тег HTML, однако он заключается в квадратные скобки, вместо. Этот код заменяется другим кодом в то время, когда загружается браузером. И, естественно, WordPress позволяет нам создавать собственные шорткоды для вывода всего, чего угодно! Можно использовать его для видео на Youtube , выводить ваши свежие твиты , а также настраивать по собственному усмотрению.

    Давайте рассмотрим реальный пример. Скажем, нам нужно вывести рекламу AdSense в моей записи. Для этого можно зайти в текстовый режим визуального редактора WordPress и скопировать/вставить код блока AdSense в него, но это будет утомительно и обезобразит исходный код записи. К тому же, если появится необходимость изменить рекламный блок, тогда придется править каждый пост, в который мы вставили рекламу. Простым же решением (и более рациональным) вставки блока рекламы в любое место на блоге будет использование шорткода adsense. Он может выглядеть примерно так:

    Когда же вы будете просматривать запись на своем сайте (не в админ.панели), шорткод заменится блоком рекламы от Adsense. Так как же его создать? Очевидно, что нужно сообщить Ворпдессу, что нужно заменить и чем.

    Как создать шорткод?

    К счастью, WordPress позволяет создавать шорткоды довольно незамысловатым образом, поэтому давайте создадим . Первое, что нам нужно, это определить функцию, которая будет выводить рекламный код Адсенса. Весь нижеприведенный код вставляем в файл functions.php вашей темы (хотя можно оформить и в отельный файлик плагина). Давайте посмотрим на саму функцию:

    Function get_adsense($atts) { return " "; }

    Эта функция довольно проста — она просто возвращает код Google Adsense в виде строки. Шорткод будет заменен на все то, что возвратит наша функция, т.е. теоретически можно получить html для виджета Twitter, или список записей блога, или что-то еще…

    Теперь у нас есть функция, которая возвращает нужные нам значения, как же сделать шорткод для нее? Теперь в дело вступает WordPress API. Опять же, давайте посмотрим как это делается, а потом объясним что происходит. Вот вызов для определения шорткода adsense.

    Add_shortcode("adsense", "get_adsense");

    Вот и все! Первый передаваемый параметр — это название шорткода, в нашем случае ‘adsense’, которое говорит Ворпдессу создать шорткод . Второй параметр определяет функцию, которая будет вызвана, когда встретится новый шорткод. В нашем случае ‘get_adsense’ говорит ВП заменить шорткод результатами функции get_adsense.

    Неплохо, да? Это самый простой шорткод, однако WordPress позволяет проделывать с ними различные вещи (добавлять параметры для переключения блоков Адсенса, например). Полное API можно найти на WordPress Codex.

    Как использовать шорткод?

    Это самая простая часть: просто добавьте в визуальном/текстовом редакторе записи либо страницы. Всё. Вы создали свой первый шорткод.

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

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

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

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

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

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

    function myTxt(){
    $str="Заголовок

    Текст описание

    ";
    return $str;
    }

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

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

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

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


    $str="".$atts["title"]."

    ".$atts["txt"]."

    ";
    return $str;
    }

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

    А в посте пишем вот такой вызов шорткода:

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

    function myTxt($atts, $content = null){
    $str="".$atts["title"]."";
    $str="".$content.""
    return $str;
    }
    add_shortcode("myCodeInPost", "myTxt");

    Вызывать этот шорткод с параметрами мы будем вот так: Текст для модернизации

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

    Как можно узнать сдесь.

    Статьи по теме: