Как внутри шорткода WP вывести функцию php?
Извините за глупый вопрос. Вывожу товар при помощи шорткода Мне необходимо вместо значения id (в данном случае «9514») вывести значение функции the_field(‘wine_box_№1’) Данная конструкция не работает:?php>
И так тоже не работает:
Вы уж извините, что я, такой дурак, к Вам сюда пришел. Ткните меня носом, где я не прав.
Отслеживать
задан 28 апр 2020 в 12:01
Виктор Успенский Виктор Успенский
19 7 7 бронзовых знаков
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Ваш пример должен работать. Но лучше использовать «классический способ склеивания».
Если результат работы шорткода не устраивает Вас. Выведите отдельно ид и строку целиком:
echo ''; var_dump($id); echo '
'; echo "[product ]"; echo '
ЗЫ. Меня смущает знак «№» в the_field(‘wine_box_№1’) . Вы уверены, что slug ACF такое поддерживает?
Как выполнить шорткод из php-кода?
В закладки
Часто при разработке темы или плагина возникает ситуация, когда необходимо из php-кода выполнить какой-либо шорткод. Зачастую, начинающие разработчики пишут для этого свою собственную функцию, хотя WordPress предоставляет возможность выполнить любой шорткод всего лишь одной простенькой функцией:
echo do_shortcode("[your_shortcode]"); ?>Где [your_shortcode] это и есть необходимый вам шорткод. Не забудьте только, что результат выполнения шорткода вы должны будете сами оформить в нужные html-теги, так как функция автоформатирования текста в этом случае работать не будет (или обработайте результат функцией wpautop(), если не хотите вручную форматировать результат работы шорткода).
Статьи по теме:
- Как использовать шорткоды в виджетах?
- Как отключить вывод в записях какого-либо шорткода?
- Как зашифровать email в тексте записей?
- Как скрыть часть записи от незарегистрированных пользователей?
Вызов шорткода из PHP в WordPress
Многие задаются вопросом: как вставить стандартный шорткод какого-нибудь плагина прямо в PHP-код сайта на Вордпресс. Вот короткая и рабочая инструкция.

Что такое шорткод, пожалуй, всем понятно — это короткая запись в квадратных скобках, примерно такого формата [ngallery >Шорткоды формируют сами плагины, то есть их поддержку закладывает разработчик плагинов при их создании, чтобы потом простым пользователям было удобно выводить результат работы плагина на страницы своих сайтов.
То есть после добавления шорткода от плагина на страницу через стандартный текстовый редактор — вы увидите результат сразу после ее сохранения.
Но многим владельцам сайтов нужно добавлять шорткоды не в текстовый редактор страниц, а прямо в PHP-шаблон страниц, чтобы разом выводить результат работы какого-то плагина на все страницы блога.
Порядок действий по добавлению шорткода в PHP
1 Открываете нужный файл в структуре сайта.
Для этого вам нужен доступ к FTP сайта, чтобы менять файлы (подробнее что такое FTP)
2 Добавляете следующую конструкцию в нужное место файла
Если в шорткоде присутствуют параметры или он требует закрытия, не забудьте их вписать и закрыть обратным тегом [/шорткод], то есть например:
Сохраняете файл, смотрите на результат.
Если нужно запускать шорткоды из виджетов (то есть из админки, а не из файлов php блога), то добавьте в файл functions.php, который лежит в теме, вот такой код:
Читайте также: Как заставить сайт на WordPress летать
add_filter( ‘widget_text’, ‘do_shortcode’ );
Затем сохраняете и пробуете разместить шорткоды в виджетах.
Полезные плагины для работы с шорткодами:
Shortcodes Ultimate
Рекомендую — очень мощные встроенные в редактор Вордпресса шорткоды.
PHP in widgets
Появится возможность в виджетах исполнять PHP-вставки, например, те же шорткоды.
Shortcoder
Дает возможность делать свои произвольные шорткоды.
- Создание сайта компании
- Создание блога
Полезные цитаты: Сегодня я богат именно благодаря тому, что я сделал в свободное время (Р.Кийосаки)
Извините, но этот сайт или его страница сейчас отключены
О причинах неработоспособности сайта Вы можете уточнить у администрации – хостинг-провайдер .masterhost, отвечающий за его поддержку, предоставляет управление услугами и доменами их владельцам.
Здесь можно ознакомиться с актуальными акциями и выгодными предложениями от .masterhost
Если этот сайт принадлежит Вам
Пожалуйста, проверьте баланс лицевого счета или свяжитесь со службой технической поддержки:
- +7 (495) 772-97-20 (для Москвы);
- 8-800-200-97-20 (для регионов);
- E-mail: support@masterhost.ru.
