Вставка шорткода в шаблон WordPress или почему не работает шорткод в файлах темы?

вывод шоткода в шаблоне wordpress

Здравствуйте, уважаемые читатели моего блога!

Сегодня я бы хотела поделиться с вами своим опытом работы с шотркодами wordpress.

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

Но часто возникает необходимость вывести шорткод в файлах самого шаблона WordPress.

Почему нельзя просто вставить шорткод прямо в файлы тем?

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

Как научиться продвигать сайты?

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

Для этого нужно обернуть наш шорткод в специальную php-функцию.

Для вывода шорткода слайдера в файлах темы данный код будет выглядеть следующим образом:

Обратите внимание, что если у вас внутри самого шорткода есть кавычки, то они не должны совпадать с кавычками функции echo do_shortcode(» «);

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

Если здесь сделать везде одинарные или везде двойные кавычки, то произойдёт путаница и в итоге функция сработает некорректно или не сработает вовсе.

Что делать если не работает шорткод в шаблоне WordPress?

  1. Попробуйте вывести этот шорткод в запись и убедитесь что он рабочий. Возможно проблема не в выводе шорткода, а в самом плагине.
  2. Убедитесь что у вас правильно записана функция и вставлен правильных шорткод.
  3. Если в коде есть ковычки, то проверьте чтобы они не совпадали с ковычками в функции (если в функции стоят двойные ковычки, то в шорткоде вместо двойных должны стоять одинарные и наоборот).
  4. Проверьте чтобы функция не стояла внутри фрагмента PHP кода.

Например:

Вставка шорткода в шаблон WordPress

Получается, что в этом случае php-код открывается и закрывается внутри уже существующего php-кода. Возникает путаница с открывающимися и закрывающимися тегами.
В данном случае нужно либо писать данную функцию без

Вставка шорткода в шаблон WordPress

Либо закрыть php-код внутри которого вы хотите разместить шорткод а потом уже писать данную функцию.

не работает шорткод в файлах темы

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

Обучение фотошоп

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

С уважением Юлия Гусарь

Подписаться на рассылку

Читайте также:

comments powered by HyperComments

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

  1. Большое спасибо Юлия! Очень помогла Ваша статья.

    • Рада помочь! Спасибо за комментарий! :)

  2. Спасибо огромное! Это просто чудо. Только руководствуясь Вашими статьями сделал себе «Обратный звонок» без дополнительных внешних сервисов. Вот этот фокус с кавычками — я готов целовать клавиатуру, за которой Вы сидели!)

    • Спасибо за Ваш комментарий! Он меня очень порадовал и развеселил :)

  3. Юлия ответьте пожалуйста. Так и не могу разобраться. Вставляю этот код <?php echo do_shortcode(«[contact-form-7 id="5416" title="Связаться с нами"]«); ?> в header.php как вы и сказали,но входит ошибка HTTP ERROR 500. Все перепробовал. Шаблон установлен Kallyas.

    • У вас в коде много ошибок.

  4. выскакивает ошибка [contact-form-7 404 "Not Found"]   сто раз скопировал форму, исправил ковычки- все равно не работает((((

    • А Вы шорткод своей формы вставляете или с сайта пример берёте? Судя по всему у Вас форму не находит, которую Вы указываете.

  5. Спасибо, эта статья как раз вовремя попалась на глаза, не как не мог понять почему шоркод не работает в шаблоне, думал уже что какаето не совместимость с шаблоном, поменял кавычки и все заработало как по маслу)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

//impuls-web.ru/wp-content/plugins/wp-monalisa/icons/wpml_bye.gif 
//impuls-web.ru/wp-content/plugins/wp-monalisa/icons/wpml_good.gif 
//impuls-web.ru/wp-content/plugins/wp-monalisa/icons/wpml_negative.gif 
//impuls-web.ru/wp-content/plugins/wp-monalisa/icons/wpml_scratch.gif 
//impuls-web.ru/wp-content/plugins/wp-monalisa/icons/wpml_wacko.gif 
//impuls-web.ru/wp-content/plugins/wp-monalisa/icons/wpml_yahoo.gif 
//impuls-web.ru/wp-content/plugins/wp-monalisa/icons/wpml_cool.gif 
//impuls-web.ru/wp-content/plugins/wp-monalisa/icons/wpml_heart.gif 
//impuls-web.ru/wp-content/plugins/wp-monalisa/icons/wpml_rose.gif 
//impuls-web.ru/wp-content/plugins/wp-monalisa/icons/wpml_smile.gif 
//impuls-web.ru/wp-content/plugins/wp-monalisa/icons/wpml_whistle3.gif 
//impuls-web.ru/wp-content/plugins/wp-monalisa/icons/wpml_yes.gif 
//impuls-web.ru/wp-content/plugins/wp-monalisa/icons/wpml_cry.gif 
//impuls-web.ru/wp-content/plugins/wp-monalisa/icons/wpml_mail.gif 
//impuls-web.ru/wp-content/plugins/wp-monalisa/icons/wpml_sad.gif 
//impuls-web.ru/wp-content/plugins/wp-monalisa/icons/wpml_unsure.gif 
//impuls-web.ru/wp-content/plugins/wp-monalisa/icons/wpml_wink.gif