Как добавить шорткод в WordPress?

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

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

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

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

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

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

[adsense]

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

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

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

function get_adsense($atts) {
	return '<script type="text/javascript"><!--
google_ad_client = "pub-546321545321589";
/* 468x60, created 9/13/10 */
google_ad_slot = "54321565498";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
';
}

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

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

add_shortcode('adsense', 'get_adsense');

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

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

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

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

VN:F [1.9.22_1171]
Rating: 4.2/5 (5 votes cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
Scroll To Top