the_flexible_field()

Эта функция устарела. Это означает, что она была заменена новой функцией или больше не поддерживается и может быть удалена из будущих версий. Весь код, который использует эту функцию, должен быть переписан с учетом возможностей, которые представляют новые версии ACF.

Описание

  • Устарело в v3.3.4  — пожалуйста, используйте has_sub_field()
  • Добавлено в v3.1.0

Эта функция используется в цикле «while» для обхода каждой итерации Гибкого содержимого».

Эта функция вернет либо: текущую итерацию (цикл продолжится), либо false (конец цикла). Внутри цикла while вы можете использовать следующие функции:

Параметры

<?php the_flexible_field($field_name, $post_id); ?>
  • $field_name (строка) (обязательный) Имя поля «Гибкого содержимого».
  • $post_id (строка) ID поста за которым закреплено поле. По умолчанию текущий пост.

Использование

<?php 

/*
*  Обходим поле "Гибкое содержимое" и выводим контент для разных макетов
*/

while(the_flexible_field("content")): ?>

	<?php if(get_row_layout() == "paragraph"): // layout: Content ?>

		<div>
			<?php the_sub_field("content"); ?>
		</div>

	<?php elseif(get_row_layout() == "file"): // макет: File ?>

		<div>
			<a href="<?php the_sub_field("file"); ?>" ><?php the_sub_field("name"); ?></a>
		</div>

	<?php elseif(get_row_layout() == "featured_posts"): // макет: Featured Posts ?>

		<div>
			<h2><?php the_sub_field("title"); ?></h2>
			<?php the_sub_field("content"); ?>

			<?php if(get_sub_field("posts")): ?>
				<ul>
				<?php foreach(get_sub_field("posts") as $p): ?>
					<li><a href="<?php echo get_permalink($p->ID); ?>"><?php echo get_the_title($p->ID); ?></a></li>
				<?php endforeach; ?>
				</ul>
			<?php endif; ?>

		</div>

	<?php endif; ?>

<?php endwhile; ?>