ruSKweb.ru

"Самая хорошая работа – это высокооплачиваемое хобби"

Генри Форд

Как вывести шорткод в файлы шаблона wordpress

shortCode2

Всем привет, друзья, давненько у меня на блоге не было практических постов, да и вообще каких-либо постов =) Я никуда не пропал, просто работаю, и именно по работе мне пришлось столкнуться с такой задачей – как вывести шорткод не в сам блок с контентом, а непосредственно в тело шаблона.

Ведь если вы по аналогии просто скопируете [shortcode] как это делаете в записях, и вставите его в код, например в header.php, то ничего не выйдет, шоткод не заработает.

Для тех кто вообще не понимает о чем речь и что такое шорткод (shortcode от англ. короткий код) – это вызов фрагмента кода, записи или функции небольшим тегом, помещенным в квадратные скобки [имя_шорткода].  Делается это для удобства – что бы не вставлять каждый раз огромные куски кода, можно просто воткнуть маленький шоткодик) Или если вы используете очень часто один и тот же код, как например я вставляю блоки с рекламой в статьи – все это делается через шорткоды в 2 клика.

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

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

<?php echo do_shortcode('[ваш_шорткод][/ваш_шорткод]'); ?>

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

Знаете ли вы, что в движок WordPress заложены несколько базовых шорткодов, которыми вы можете пользоваться, например вывод галереи шорткодом [gallery]. Подробнее можно почитать на оф. сайте вордпресса http://codex.wordpress.org/Shortcode.

Как самому создавать шорткоды и выводить их в записях

Меня неоднократно спрашивали, как я вставляю блоки с рекламой на сайте, каким плагином. Так вот, отвечу тут – плагин так и  называется Shortcoder, в использовании прост как 5 копеек. Устанавливаете, открываете настройки, переключаетесь с визуального редактора на текст и вставляете свой код, сохраняете.

shortcode

Теперь в редакторе текста wordpress у вас появится доп. кнопочка, кликнув по которой выводится список созданных вами шоткодов. Еще один клик по кнопке Insert Shortcode и данный шоткод будет размещен в записи

шорткод плагин

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

Могу посоветовать еще один полезный плагин для работы с шорткодами, который уже содержит в себе готовые к работе шорткоды –  Shortcodes Ultimate

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

плагин для шорткодов

Наиболее интересные для меня – вставка колонок, аккордеонов, спойлеров, кнопок, всевозможные выделения текста и т.д.

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

Таким образом можно обыкновенный бесплатный шаблон быстро превратить в премиум, по крайней мере в плане дизайна =)

Надеюсь данная статья была вам полезна, удачи.

Понравилась статья? Жми лайк:

36 комментариев

  1. Александр пишет:

    Вообще не понятно для чего они нужны :)

    У тебя в начале очапятка “шоткод не заработает” :)

    [Ответить]

    Сергей Кобзарь отвечает:

    Это не опечатка, это тонкий сео-расчет :)

    Блин, ну вот нада тебе в статью воткнуть код, например рекламного блока от гугл. Ты что будешь делать? Открывать страницу, включать редактор html и копировать в нужное место довольно крупный кусок кода, правильно?

    А если страниц 10? А если 100? А если потом отключить захочешь эту рекламу, пойдешь опять сотни страниц редактировать?) А так шорткодом в пару кликов все решается, экономится время.

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

    [Ответить]

    Александр отвечает:

    Я так понимаю, чтобы вставить рекламный код в тело записи нужно использовать шорткод?

    [Ответить]

    Сергей Кобзарь отвечает:

    Можно и без шоткода обойтись, но с ним быстрее и удобнее.

    [Ответить]

    Александр отвечает:

    Теперь все понятно! Спасибо за разъяснения! ;-)

    [Ответить]

  2. Сергей пишет:

    Шорткоды – хорошая штука. Тоже их использую. А рекламу же не обязательно в каждую статью вставлять. Есть специальные плагины по выводу кода в статьях. Один раз вставил нужный код в настройках плагина, потом реклама автоматом в каждых статьях в нужных местах будет сама выводиться.

    [Ответить]

    Сергей Кобзарь отвечает:

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

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

    [Ответить]

  3. Артем пишет:

    Привет! Давно не списывались))) Спрошу здесь, такая проблема, как раз касаемо шорткодов:
    Имеется кнопка выведенная на странице шорткодом.
    Внимание вопрос: Как к этой кнопке прикрутить модальное окно?

    Эта функция по выводу шорткодов – встроенная возможность ВП?

    Вот так, возисся-возисся с премиум-шаблонами, глядишь и весь кодекс ВП выучишь)))

    [Ответить]

    Сергей Кобзарь отвечает:

    Артем, вывод шорткодов да, функция встроенная в ВП.

    Насчет кнопки – есть несколько вариантов вывода, используй который подходит. Это плагины (если контактная форма то я использовал плагин simplemodal contact form) это яваскрипты и даже с помощью CSS3.

    Однако скорей всего придется найти в файлах шаблона саму функцию исполняемого шорткода и туда уже вносить коррективы

    [Ответить]

    Артем отвечает:

    Хм, как-то сложно все. Я немного по другому делал: кнопка – это ведь по сути ссылка с оформлением, так что я использовал плагин Easy Modal, который формирует ссылку на модальное окно и к этой ссылки применял нужные стили. Мне так проще было

    [Ответить]

    Сергей Кобзарь отвечает:

    У плагина что я написал такая же возможность – просто задаешь для ссылки определенный класс и окно автоматически привязывается к этой ссылке

    [Ответить]

  4. Павел Пашкан пишет:

    Спасибо за информацию! Как раз искал ответ на этот вопрос. Повезло нам с этим блогом.

    :roll:

    [Ответить]

    Сергей Кобзарь отвечает:

    Не за что, Павел, рад что пригодилась статья.

    [Ответить]

  5. дмитрий пишет:

    Хороший приемчик. Ведь туда можно любой код воткнуть и оперативно менять на лету.
    В некоторых темах эта фича зашита (но далеко не у всех)

    [Ответить]

    Сергей Кобзарь отвечает:

    Угу, а некоторые спрашивают, зачем нужны шоткоды. Вот когда придется менять один и тот же код на паре сотен страниц, тогда поймут зачем они нужны :)

    [Ответить]

  6. дмитрий пишет:

    Сразу освоят, как будут опыты с контекстом делать :)

    [Ответить]

  7. Alexander Meier пишет:

    Привет!
    Shortcodes Ultimate – ну очень крутой плагин. Мне тоже в нем нравятся всякие аккордеоны-спойлеры и т.п. Разработчик по-моему один из наших (или русский, или украинец).
    Shortcoder – тоже ничего. Для вставки рекламных блоков в тело статей, самое то.

    [Ответить]

    Артем отвечает:

    Наш-наш, я с ним даже общался. Адекватный товарищ

    [Ответить]

    Сергей Кобзарь отвечает:

    Привет. О как, я даже не знал, ну респект русским програмерам =)

    [Ответить]

  8. Артем пишет:

    Сергей! Срочно появись в скайпе, есть дело!

    [Ответить]

  9. seoonly.ru пишет:

    Не знал про Shortcodes Ultimate. Спасибо за пост и дельные комменты

    [Ответить]

    Сергей Кобзарь отвечает:

    Классный плагин, сильно облегчает задачи верстки

    [Ответить]

  10. Владимир пишет:

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

    [Ответить]

    Сергей Кобзарь отвечает:

    Владимир, рад что пригодилось

    [Ответить]

  11. Яна пишет:

    Интересный плагин. Я о таком еще не слышала. Надо будет попробовать воспользоваться.

    [Ответить]

  12. Александр пишет:

    спасибо помогло

    [Ответить]

  13. Рита пишет:

    Добрые люди, помогите мне.
    Есть шорт код [ video-gallery inpage="2" h='225' w="300" ]
    Мне надо как то вывести его на главную страничку своего сайта
    Шорткод относится к видео галереи

    [Ответить]

    Сергей Кобзарь отвечает:

    Здравствуйте. Если у вас статичная главная, то достаточно просто открыть ее в редакторе и добавить в нужное место шоткод. Если же нет, то нужно будет открывать шаблон главной (она может называться по разному в разных шаблонах: index.php, main.php или наподобие) и вставить туда шорткод с помощью описанного в данной статье способа.

    [Ответить]

  14. Владислав пишет:

    А как вывести не сам шорткод, а результат работы шорткода в php-файле?

    [Ответить]

    Сергей Кобзарь отвечает:

    Поздно увидел коммент, прошу прощения. Разобрался уже?

    [Ответить]

    Владислав отвечает:

    Нет, не разобрался!)

    [Ответить]

    Сергей Кобзарь отвечает:

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

    [Ответить]

    Владислав отвечает:

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

    [Ответить]

  15. Владислав пишет:

    Эксперименты пока не помогли, блоки подгружаются из разных скриптов и где именно что менять так и не понял!

    сами посмотрите на сайте parnas-friends.ru в левом сайдбаре стоит блок “Найти друзей” результат которого выводится вверху страницы, а нужно, чтобы он выводился под полем Поиска и меню, которое под поиском

    [Ответить]

    Сергей Кобзарь отвечает:

    Про место вывода результатов не совсем понял если честно. Проверил работу блока – все ок выводится, работает как надо)

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

    [Ответить]

    Владислав отвечает:

    Сергей, спасибо за ответы, но именно в шаблонной странице и делались эксперименты с кодом. Результаты работы шорткода в сайдбаре выводятся строго НАД полем поиска, а нужно ПОД полем поиска!

    Просто Поле Поиска где-то в отдельном файле родительской темы прописано, нужно найти где!

    В общем, будет время, сам ещё поэкспериментирую!

    [Ответить]

Оставить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: