2013-07-30 5 views
0

Я пытаюсь отобразить поле, но оно показывает значение отлично, но ВНЕШНИЕ из тегов?! ??!синтаксис для дополнительных пользовательских полей в wordpress

echo '<h2>'. the_field('where') .'</h2>'; 

Выход =

"London" 
<h2></h2> 

Должно быть =

<h2>London</h2> 
+0

вам не хватает что-то вы показываете в h3 теги но вы хотите h2 теги? я не понимаю –

+0

Функция the_field должна возвращать значение, а не echo –

ответ

0

Используйте это:

<h2><?php the_field('where'); ?></h2> 

Объяснение:

Вы код имеет выход он имеет из-за того, как echo работ. Сначала он генерирует всю строку (выполняет функции), а затем выводит результат. Итак, если функция the_field имеет выход, она будет генерировать то, что вы видите.

В основном ваш код эквивалентен:

$title = '<h3>'. the_field('where') .'</h3>'; 
echo $title; 

Пример:

function test() { 
    echo '1'; 
    return '2'; 
} 
echo 'PRE - ' . test() . ' - POST'; 

И вот результат:

$ php test.php 
1PRE - 2 - POST 
4

Потому что у вас есть функция, как это:

function the_field($text){ 
echo $text; 
} 
echo '<h3>'. the_field('where') .'</h3>'; 

Изменить вашу функцию:

function the_field($text){ 
return $text; 
} 
echo '<h3>'. the_field('where') .'</h3>'; 

Почему? Поскольку PHP выполняет функцию перед печатью вывода эха.

+0

, или он эхо в функции с тегами h2 и снова пытается exho с h3? –

Смежные вопросы