Вставка шорткода в шаблон 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

2 комментария

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

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

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

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

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