Как внутри шорткода WP вывести функцию php?

Извините за глупый вопрос.

Вывожу товар при помощи шорткода <?php echo do_shortcode( '[product id="9514"]' ); ?>

Мне необходимо вместо значения id (в данном случае "9514") вывести значение функции the_field('wine_box_№1')

Данная конструкция не работает:

<?php echo do_shortcode("[product id='".the_field('wine_box_№1')."']"); ?>

И так тоже не работает:

<?php
$id= the_field('wine_box_№1');
echo do_shortcode("[product id='$id']");
?>

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


Ответы (1 шт):

Автор решения: Node_pro

Ваш пример должен работать. Но лучше использовать "классический способ склеивания".

<?php
$id = the_field('wine_box_№1');
echo do_shortcode("[product id='".$id."']");
?>

Если результат работы шорткода не устраивает Вас. Выведите отдельно ид и строку целиком:

echo '<pre>';
var_dump($id);
echo '<br/>';
echo "[product id='".$id."']";
echo '</pre>

ЗЫ. Меня смущает знак "№" в the_field('wine_box_№1'). Вы уверены, что slug ACF такое поддерживает?

→ Ссылка