В этой статье хочу показать готовые примеры кодов для вывода информации из произвольных полей ACF. Рекомендую добавить эту страницу в закладки браузера, чтобы при работе с сайтами не тратить время и просто копипастить.
Стандартный вывод информации из ACF (текст, ссылка на картинку и т.п.):
<?php the_field('название_ярлыка_поля'); ?>
Вывод повторителя:
<?php if(get_field('название_ярлыка_повторителя')): ?>
<?php while(has_sub_field('название_ярлыка_повторителя')) : ?>
<div class="slide">
<img src="<?php the_sub_field('название_ярлыка_поля'); ?>">
</div>
<?php endwhile; ?>
<?php endif; ?>
Повторитель в повторителе:
<?php if(get_field('название_ярлыка_повторителя_1')): ?>
<?php while(has_sub_field('название_ярлыка_повторителя_1')) : ?>
<div class="slide">
<img src="<?php the_sub_field('название_ярлыка_поля_повторителя_1'); ?>">
<ul class="list">
<?php if(get_sub_field('название_ярлыка_повторителя_2')): ?>
<?php while(has_sub_field('название_ярлыка_повторителя_2')) : ?>
<li><?php the_sub_field('название_ярлыка_поля_повторителя_2'); ?></li>
<?php endwhile; ?>
<?php endif; ?>
</ul>
</div>
<?php endwhile; ?>
<?php endif; ?>
Вывод группы полей:
<?php if( have_rows('название_ярлыка_группы') ): ?>
<?php while( have_rows('название_ярлыка_группы') ): the_row(); ?>
<a href="<?php the_sub_field('название_ярлыка_поля_группы'); ?>"><i class="fa fa-vk" aria-hidden="true"></i></a>
<a href="<?php the_sub_field('название_ярлыка_поля_группы'); ?>"><i class="fa fa-facebook" aria-hidden="true"></i></a>
<?php endwhile; ?>
<?php endif; ?>
Тип поля “Галерея”
<?php if ($img_gallery = get_field("название_ярлыка_галереи")) : ?>
<?php foreach ($img_gallery as $img) : ?>
<?php if ($img) : ?>
<?= "<img
src="<?= esc_url($img['sizes']['thumbnail']) ?>"
alt="<?= esc_attr($img['alt']) ?>"
loading="lazy"
width="<?= esc_attr($image_array['width']) ?>"
height="<?= esc_attr($image_array['height']) ?>"
/>" ?>
<?php endif; ?>
<?php endforeach; ?>
<?php endif; ?>
Тип поля “Объект записи”
<?php if ($post_objects = get_field("название_ярлыка_объекта_записи")) : ?>
<?php
foreach ($post_objects as $post) : setup_postdata($post); ?>
<?php if ($post) : ?>
<?php the_title(); ?>
<?php the_excerpt(); ?>
<?php the_field("название_ярлыка_поля_объекта_записи"); ?>
<?php the_permalink(); ?>
<?php endif; ?>
<?php endforeach; ?>
<?php wp_reset_postdata(); ?>
<?php endif; ?>
Тип поля “Гибкое содержание”
<?php if (have_rows('название_ярлыка_гибкого_содержания')) : ?>
<?php while (have_rows('название_ярлыка_гибкого_содержания')) : the_row(); ?>
<?php if (get_row_layout() == 'hero') : ?>
<?php get_template_part("template-parts/hero-section") ?>
<?php elseif (get_row_layout() == 'about') : ?>
<?php get_template_part("template-parts/about-section") ?>
<?php elseif (get_row_layout() == 'contacts') : ?>
<?php get_template_part("template-parts/contacts-section") ?>
<?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>
Тип поля “Ссылка”
<?php if (get_field('название_ярлыка_ссылки')) : ?>
<a href="<?= get_field('название_ярлыка_ссылки')['url'] ?>" target="<?= get_field('название_ярлыка_ссылки')['target'] ?>"><?= get_field('название_ярлыка_ссылки')['title'] ?></a>
<?php endif; ?>
Вывод поля ACF только если оно заполнено
<?php if (get_field("имя_ярлыка_поля")) { ?>
<?php the_field("имя_ярлыка_поля"); ?>
<?php } ?>
Страница опций ACF
if (function_exists("acf_add_options_page")) {
acf_add_options_page(array(
"page_title" => "Опции темы",
"menu_title" => "Опции темы",
"menu_slug" => "theme_settings",
));
}
Вывод полей из страницы с опций
<?php the_field("имя_ярлыка_поля", "option"); ?>
На этом пока всё, буду регулярно дополнять. Если чего-то не хватает – пиши в комментариях и я моментально добавлю.
Спасибо большое!
Рад помочь:)
[…] Шпаргалка для ACF – Готовые примеры для вывода полей A… Как сделать нумерацию строк в плагине ACF? Шпаргалка по стандартным стилям CSS для начинающих. Часть 1 […]
Привет. Пробую интеграцию группы полей – ничего не выводит(
Распишите пошагово что и как делаете)
Влад, ещё раз спасибо! 🙂 Так и не изменил ярлыка поля на название поля! 🙂
Даа, спасибо что напомнил:)
1000000000000 раз спасибо!!! 🙂
Всегда пожалуйста <3
Подскажите пжл. создаль повторител и к нему Изображение с массивом. что то не выводит на экран.
Код:
Нужно писать “options”, буквы S в конце не хватает