Шпаргалка для ACF – Готовые примеры для вывода полей ACF

Владислав Белецкий
Владислав Белецкий .
Категория:
Комментариев: 11

В этой статье хочу показать готовые примеры кодов для вывода информации из произвольных полей 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"); ?>

На этом пока всё, буду регулярно дополнять. Если чего-то не хватает – пиши в комментариях и я моментально добавлю.

Подписаться
Уведомить о
guest
11 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Булат
Булат
1 год назад

Спасибо большое!

trackback
Интеграция сайта на WordPress - Шпаргалка - Блог про веб-разработку, SEO и маркетинг
1 год назад

[…] Шпаргалка для ACF – Готовые примеры для вывода полей A… Как сделать нумерацию строк в плагине ACF? Шпаргалка по стандартным стилям CSS для начинающих. Часть 1 […]

Руслан
Руслан
9 месяцев назад

Привет. Пробую интеграцию группы полей – ничего не выводит(

Александр
Александр
6 месяцев назад

Влад, ещё раз спасибо! 🙂 Так и не изменил ярлыка поля на название поля! 🙂

Александр
Александр
6 месяцев назад

1000000000000 раз спасибо!!! 🙂

Sanjar
Sanjar
6 месяцев назад

Подскажите пжл. создаль повторител и к нему Изображение с массивом. что то не выводит на экран.

Код:

<?php if(get_field('site_soc', 'option')): ?>
  <?php while(has_sub_field('site_soc', 'option')) : ?>


    <?php
    $image = the_field('site_soc_rasm');
    if( !empty($image) ): ?>
      <a href="<?php the_sub_field('site_soc_url'); ?>" target="_blank"><img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" /></a>
    <?php endif; ?>


  <?php endwhile; ?>
<?php endif; ?>