Shortcoder
Опубликовано: 05.09.2018
Flector 5Родная поддержка шорткодов появилась в WordPress версии 2.5 , но популярными шорткоды так и не стали. По вполне понятной причине - их использование в WordPress подразумевает хотя бы минимальное знание php , а большинство пользователей WordPress такими знаниями не обладают. Собственно, именно поэтому плагины для создания и использования шорткодов стали довольно популярны среди блогеров. Из десятка просмотренных мной плагинов больше всего мне понравился плагин Shortcoder . Он не лишен некоторых недостатков, но, тем не менее, он мне показался наиболее простым и при этом достаточно мощным для решения практически любой задачи. Что можно легко сделать с его помощью? Например, вставкой одного шорткода можно добавить в вашу запись рекламу от AdSense , Я.Директ , любые JS -скрипты, Flash -содержимое и многое другое. Плагин использует встроенную в WordPress поддержку шорткодов, но при этом вам не нужно знать основ программирования, так как создание и редактирование шорткодов осуществляется в удобном визуальном редакторе.
Скачиваем плагин с его домашней страницы и устанавливаем его:
1. Распаковываем архив.
2. Копируем папку shortcoder в /wp-content/plugins/ .
3. Заходим в админку блога на вкладку " Плагины " и активируем плагин.
Как таковых настроек в плагине нет. Вы сразу можете добавить или отредактировать шорткод в " Параметрах\Shortcoder ". Чем мне понравился именно этот плагин шорткодов? Тем, что при использовании шорткода можно использовать переменные. Недостаток тут только один: нужно использовать встроенные переменные, так как плагин не дает возможности добавить свои переменные. Однако, все переменные, несмотря на свои названия, могут использоваться как вам угодно, поэтому в вашем распоряжении будет 16 различных переменных, чего более, чем достаточно.
How to Use the Shortcoder Plugin for WordPress
Чтобы вы поняли пользу от использования шорткодов я приведу несколько примеров, от простого к сложному. Начнем с самого банального - сделаем шорткод, вставляющий в запись ссылку на какой-нибудь сайт. Оформим ссылку так, чтобы она не индексировалась поисковыми системами и открывалась в новой вкладке браузера. Зайдите в " Параметры\Shortcoder ", в списке " Shortcode Name " выберите любой неиспользуемый шорткод, ниже введите его имя, например " google ", а в редакторе введите следующий код:
What is a Shortcode in WordPress and how do you use them?
<noindex> < a href = "http://www.google.ru" rel = "nofollow" target = "_blank" > < strong > Google.ru < / strong >< / a> < /noindex> |
<noindex> <a href="http://www.google.ru" rel="nofollow" target="_blank"> <strong>Google.ru</strong></a> </noindex>
Нажмите кнопку " Update " и после этого шорткод готов к использованию. Если теперь вы вставите в запись блога шорткод:
То он автоматически будет заменен на неиндексируемую ссылку на сайт гугла, открывающуюся в новой вкладке браузера. Это был самый простой пример, не слишком удобный для использования в блоге, так как он выводит ссылку лишь на один сайт, а нам, возможно, надо также оформлять сотни разных ссылок в блоге. Модифицируем этот пример так, чтобы в нужном оформлении выводилась любая указанная нами ссылка. Для этого будем использовать переменную %url% . Добавьте новый шорткод с именем " link ", а в редакторе введите:
<noindex> < a href = "%url%" rel = "nofollow" target = "_blank" > %url% < / a> < /noindex> |
<noindex> <a href="%url%" rel="nofollow" target="_blank">%url%</a> </noindex>
Синтаксис вызова шорткода будет здесь таким:
[sc name = "link" url = "http://www.google.ru" ] |
[sc name="link" url="http://www.google.ru"]
Однако в данном случае анкором ссылки всегда будет текст самой ссылки. Чтобы это поправить чуть-чуть изменим этот шорткод следующим кодом:
<noindex> < a href = "%url%" rel = "nofollow" target = "_blank" > %title% < / a> < /noindex> |
<noindex> <a href="%url%" rel="nofollow" target="_blank">%title%</a> </noindex>
Вызывать шорткод теперь надо, указывая и ссылку и анкор ссылки:
[sc name = "google" url = "http://www.google.ru" title = "Google.ru" ] |
[sc name="google" url="http://www.google.ru" title="Google.ru"]
Сразу хочу заметить, что текст анкора передается через переменную %title% . Как я уже говорил, переменные можно использовать любым способом, независимо от их имени. То есть с тем же результатом можно было передавать ссылку в переменной %title% , а анкор ссылки в переменной %url% .
Данные примеры немного надуманны - в конце концов, иногда проще вставить ссылку в нужном оформлении сразу, чем вспоминать синтаксис необходимого шорткода. Рассмотрим случаи, когда использование шорткодов более оправданно. Например, вставим ролик с сайта RuTube.ru . Создайте шорткод с именем " rutube ", введите следующий код:
< OBJECT width = "470" height = "353" > < PARAM name = "movie" value = "http://video.rutube.ru/%src%" >< / PARAM > < PARAM name = "wmode" value = "window" >< / PARAM > < PARAM name = "allowFullScreen" value = "true" >< / PARAM > <EMBED src = "http://video.rutube.ru/%src%" type = "application/x-shockwave-flash" wmode = "window" width = "470" height = "353" allowFullScreen = "true" >< /EMBED> < / OBJECT > |
<OBJECT width="470" height="353"> <PARAM name="movie" value="http://video.rutube.ru/%src%"></PARAM> <PARAM name="wmode" value="window"></PARAM> <PARAM name="allowFullScreen" value="true"></PARAM> <EMBED src="http://video.rutube.ru/%src%" type="application/x-shockwave-flash" wmode="window" width="470" height="353" allowFullScreen="true"></EMBED> </OBJECT>
Чтобы теперь встроить в запись блога ролик с сайта RuTube.ru достаточно использовать шорткод:
[sc name = "rutube" src = "a4c5a421feabd67cdfb2d3d90e845f4e" ] |
[sc name="rutube" src="a4c5a421feabd67cdfb2d3d90e845f4e"]
Где переменная %src% указывает на ID ролика. Подобным образом можно добавить шорткоды для любых сайтов видео-хостинга от YouTube до Яндекс.Видео . Таким простым способом плагин Shortcoder может вам заменить любой плагин для встраивания видео-роликов в записи блога.
Аналогичным способом можно встраивать в записи блога рекламу AdSense , Flash -содержимое и т.д. Для AdSense достаточно передать в переменной шорткода ID вашего аккаунта. Flash -содержимое и JS -скрипты вообще можно вызвать шорткодами без переменных. Я так навскидку могу назвать как минимум 5 различных плагинов, которые я рассматривал в данном блоге и которые может заменить лишь один только плагин Shortcoder .
Почти на любом блоге встречаются блоки информации, которые повторяются время от времени и которые можно вызывать через шорткод. На моем собственном опыте: в каждой статье о плагине внизу у меня идет блок информации о плагине. Когда я возился с созданием этого блога, я додумался заранее оформить этот блок с нужным идентификатором в css , поэтому в любом момент правкой css стилей шаблона я могу изменить внешний вид этого блока сразу во всех статьях сайта. Однако я не додумался использовать шорткоды и теперь не имею возможности, скажем, поменять местами строчки в этом блоке. Для этого мне необходимо править каждую статью о плагине вручную, а это, как вы понимаете, совсем не просто. А вот через шорткод поменять содержимое блока можно было бы за 1 минуту. Вот смотрите пример, скажем я создаю шорткод со следующим кодом:
< p id = "podval" > Автор плагина: <noindex>< a href = "%url%" rel = "nofollow" target = "_blank" >< strong > %title% < / strong >< / a> < /noindex> < br / > Страница плагина: <noindex>< a href = "%misc1%" rel = "nofollow" target = "_blank" > %misc1% < / a>< /noindex> < br / > Рассматриваемая версия: < strong > %misc2% < / strong > от < strong > %misc3% < / strong > < br / > Совместимость с версией WordPress: < strong > %id% < / strong > и выше. < / p> |
<p id="podval"> Автор плагина: <noindex><a href="%url%" rel="nofollow" target="_blank"><strong>%title%</strong></a> </noindex> <br /> Страница плагина: <noindex><a href="%misc1%" rel="nofollow" target="_blank">%misc1%</a></noindex> <br /> Рассматриваемая версия: <strong>%misc2%</strong> от <strong>%misc3%</strong> <br /> Совместимость с версией WordPress: <strong>%id%</strong> и выше. </p>
Шорткод вызываю так:
[sc name = "plugin" url = "http://w-shadow.com/blog/2007/08/05/broken-link-checker-for-wordpress/" title = "Janis Elsts" misc1 = "http://wordpress.org/extend/plugins/broken-link-checker/" misc2 = "0.9.7.1" misc3 = "10.10.2010" id = "3.0" ] |
[sc name="plugin" url="http://w-shadow.com/blog/2007/08/05/broken-link-checker-for-wordpress/" title="Janis Elsts" misc1="http://wordpress.org/extend/plugins/broken-link-checker/" misc2="0.9.7.1" misc3="10.10.2010" id="3.0"]
И в итоге получаю нынешнее оформление:
Теперь чтобы поменять строчки в этом блоке на всем сайте мне достаточно изменить код шорткода на:
< p id = "podval2" > Рассматриваемая версия: < strong > %misc2% < / strong > от < strong > %misc3% < / strong > < br / > Совместимость с версией WordPress: < strong > %id% < / strong > и выше. < br / > Страница плагина: <noindex>< a href = "%misc1%" rel = "nofollow" target = "_blank" > %misc1% < / a>< /noindex> < br / > Автор плагина: <noindex>< a href = "%url%" rel = "nofollow" target = "_blank" >< strong > %title% < / strong >< / a> < /noindex> < / p> |
<p id="podval2"> Рассматриваемая версия: <strong>%misc2%</strong> от <strong>%misc3%</strong> <br /> Совместимость с версией WordPress: <strong>%id%</strong> и выше. <br /> Страница плагина: <noindex><a href="%misc1%" rel="nofollow" target="_blank">%misc1%</a></noindex> <br /> Автор плагина: <noindex><a href="%url%" rel="nofollow" target="_blank"><strong>%title%</strong></a> </noindex> </p>
И в результате блок информации изменится на всем сайте и будет таким:
И все это изменение займет всего лишь одну минуту, так как вызов шорткода остался старым, а я всего лишь изменил содержимое кода этого шорткода. Не удивляйтесь, что стили блока на скриншотах незначительно отличаются от того, что вы видите внизу этой статьи. Просто плагин я тестировал на тестовом блоге, а решимости переделать все статьи этого блога под использование указанного выше шорткода мне пока не хватает, уж больно много статей придется править.
Кроме пользовательских шорткодов в плагине есть возможность использовать встроенные в него шорткоды, вот их список:
1. Закодированный Email .
[email][email protected][/email] |
[email][email protected][/email]
2. Короткий урл "Tiny url" .
[su url="http://www.wordpressplugins.ru/"]Короткий урл[/su] |
[su url="http://www.wordpressplugins.ru/"]Короткий урл[/su]
3. Встроенный RSS-ридер .
[rss feed="http://feeds.feedburner.com/wordpresspluginsru" num="5"] |
[rss feed="http://feeds.feedburner.com/wordpresspluginsru" num="5"]
Этот шорткод должен выводить указанное число заголовков из RSS -ленты. Он так и делает, но портит при этом русский текст. Так что пользоваться данным шорткодом пока нельзя.
В плагине есть еще парочка встроенных шорткодов, но они или не работают (вывод списка похожих записей) или не предназначены для нашей страны (ссылка на сбор пожертвований в PayPal ) и поэтому я о них не пишу.
Плагин отличный, но недостатки в нем тоже есть: число шорткодов ограничено 20-ю и мне не совсем понятно зачем нужно это ограничение; нет возможности использовать свои собственные переменные; частично не работают встроенные шорткоды. Это, конечно, не особо критично, но все-таки хотелось бы идеального плагина.
Автор плагина:
Страница плагина: Скачать русский плагин: shortcoder.zip Рассматриваемая версия: 2.3 от 09.08.2010 Совместимость с версией WordPress: 2.5 и выше.