@Andrey_Smeet

Почему не работает ACF?

Здравствуйте! Вывожу последние записи так:
<?php
if ( have_posts() ) : // если имеются записи в блоге.
  query_posts('cat=24,41,29');   // указываем ID рубрик, которые необходимо вывести.
  while (have_posts()) : the_post();  // запускаем цикл обхода материалов блога
?>

    <?php the_field('days'); ?>

<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>




<?php
  endwhile;  // завершаем цикл.
endif;
/* Сбрасываем настройки цикла. Если ниже по коду будет идти еще один цикл, чтобы не было сбоя. */
wp_reset_query();                
?>


но в них не работает ACF. Как исправить?
  • Вопрос задан
  • 611 просмотров
Пригласить эксперта
Ответы на вопрос 5
alex-1917
@alex-1917
Если ответ помог, отметь решением
Вот так попробуй (см. ниже). И кстати, поле случайно не множественное?

И немного лирики:
  • использовать query_posts - дурной тон
  • вставлять query_posts после if ( have_posts() ) : - рукожопный тон


...
spoiler
<?php 

// args
$args = array(
	'numberposts'	=> -1,
	'post_type'		=> 'event',
	'meta_key'		=> 'location',
	'meta_value'	=> 'Melbourne'
);


// query
$the_query = new WP_Query( $args );

?>
<?php if( $the_query->have_posts() ): ?>
	<ul>
	<?php while( $the_query->have_posts() ) : $the_query->the_post(); ?>
		<li>
			<a href="<?php the_permalink(); ?>">
				<img src="<?php the_field('event_thumbnail'); ?>" />
				<?php the_title(); ?>
			</a>
		</li>
	<?php endwhile; ?>
	</ul>
<?php endif; ?>

<?php wp_reset_query();	 // Restore global post data stomped by the_post(). ?>
Ответ написан
Комментировать
UnluckySerivelha
@UnluckySerivelha
А если заменить
<?php the_field('days'); ?>
на
<?php echo get_field( 'days' ); ?>
?
Ответ написан
azerphoenix
@azerphoenix
Java Software Engineer
На самом деле вы много чего не указали...
Например, вы выводите кастомное поле, но не написали для какого типа записи / старницы его создали? Наприм ер, если вы создали поле для типа записи "post", то скорее всего вам нужно в метод the_field() передавать ID текущей записи.
the_field('days', 'POST_ID');
только для начала внутри цикла получите ID записи, запишите в переменную и добавьте в вышеуказанный код
Ответ написан
Комментировать
@vardoLP
Ват ю сэй эбаут май мама?!
Вы выводите поле в куче со всеми, поэтому acf не понимает для кого ему выводить. У них в доке написано, что нужно использовать single шаблон.
Ответ написан
Комментировать
@Helen-Elena
может быть конфликт с другими плагинами, например с social networks auto, с ним точно конфликтуют
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы