2014-11-15 5 views
0

У меня странное явление, которое я раньше не видел. Я создал следующую переменную:Запретить автоматическое отображение переменной PHP на странице

$post_type = the_field('select_post_type'); 

так, что я могу использовать эту переменную в другом коде (с помощью WordPress передовых пользовательских полей). Однако в тот момент, когда я пишу эту строку кода, она фактически выводит свое значение на страницу. Запрос работает правильно, поэтому он правильно читает переменную в противном случае. Я не видел, чтобы переменная делала это раньше ... любые идеи, почему и как я могу это исправить?

Вот полный код для контекста:

<?php $post_type = the_field('select_post_type'); 
// the variable is actually outputting onto the page right here 

$args = array(
    'post_type' => $post_type, 
    'posts_per_page' => '-1', 
); 
$query = new WP_Query($args); 
?> 

Я использовал переменные в WordPress запросов до и не имели это произошло, так что я не знаю, почему это происходит?

ответ

0

the_field автоматически эхо используем get_field вместо

+0

Да, это был он. Я понял это через несколько минут после того, как я опубликовал. Однако, это не работает в запросе. Я попробовал '' post_type '=> echo $ post_type, но это вызвало ошибку. Поэтому я пропустил переменную и написал 'post_type '=> the_field (' select_post_type ')', чтобы заставить ее работать. Спасибо за вашу помощь. – LBF

+0

@ Lindsay Почему вы хотите что-то повторить во время назначения массива? '' post_type '=> $ post_type' и 'post_type' => get_field ('select_post_type')' должно работать нормально. –

+0

Я не знаю, почему 'get_field' не работает в назначении массива, но не потянет все сообщения из этого типа сообщения. он останавливается на 10, поэтому он, кажется, игнорирует мои 'posts_per_page'. Но если я использую 'the_field', он возвращает все сообщения. – LBF

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