Вставка шорткода в PHP WordPress

Когда вставляю шорткод прямо в шаблон, всегда оборачиваю его в do_shortcode().
Если вдруг не заводится, обычно дело банально в кавычках.

Если мне нужно вывести форму CF7, слайдер или другой шорткод прямо из PHP,
я делаю так:

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

Без do_shortcode() WordPress просто напечатает
[contact-form-7 …] как обычный текст. Никакой магии не случится.

Что делать, если шорткод не работает

Я в таких случаях не усложняю: ставлю двойные кавычки снаружи, и всё обычно сразу оживает:

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

Смысл простой: внешние и внутренние кавычки не должны быть одинаковыми.
Если и там и там одинарные (или везде двойные), PHP обрывает строку раньше времени.

Снаружи (PHP) Внутри (шорткод) Результат
Одинарные ‘…’ Двойные «…» или вообще без атрибутов Работает
Двойные «…» Одинарные ‘…’ Работает
Одинарные Одинарные Падает по кавычкам
Двойные Двойные Падает по кавычкам
Как делаю я.

Просто меняю кавычки на одном уровне: или снаружи, или внутри.
Главное — не ставить одинаковые везде подряд. Чаще всего хватает поменять внешние ‘ на «.

← К списку статей

Поделиться

Комментарии

Пока нет комментариев — можете написать первый.

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

Войти с помощью

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

Отправка защищена сервисом Yandex SmartCaptcha. Подробности — в политике конфиденциальности.