6. Кастомные поля (ACF)
Стандартных полей (Заголовок и Текст) часто не хватает для создания сложных страниц. Плагин Advanced Custom Fields (ACF) позволяет добавлять любые типы данных: изображения, галереи, файлы, выбор даты и многое другое.
Почему ACF?
Заголовок раздела «Почему ACF?»- Гибкость: Вы сами определяете структуру данных.
- Удобство для редактора: Вместо того чтобы верстать внутри Gutenberg, контент-менеджер заполняет простые поля.
- Разделение данных: Легко выводить данные в разных частях темы.
Основные типы полей
Заголовок раздела «Основные типы полей»- Text / Textarea: Простой текст.
- Image: Возвращает массив данных изображения или его ID.
- Repeater: Позволяет создавать списки (например, список характеристик товара).
- Relationship: Связь между разными постами.
Вывод полей в теме
Заголовок раздела «Вывод полей в теме»Для вывода данных ACF в файлах темы используются функции get_field() и the_field().
Пример: Вывод изображения и текстового поля
Заголовок раздела «Пример: Вывод изображения и текстового поля»Допустим, мы создали группу полей для страницы “О нас” с полями hero_title и hero_image.
<section class="hero"> <h1><?php the_field('hero_title'); ?></h1>
<?php $image = get_field('hero_image'); if( !empty( $image ) ): ?> <img src="<?php echo esc_url($image['url']); ?>" alt="<?php echo esc_url($image['alt']); ?>" /> <?php endif; ?></section>Работа с Repeater (Повторитель)
Заголовок раздела «Работа с Repeater (Повторитель)»Если у вас есть список преимуществ:
<?php if( have_rows('features') ): ?> <ul class="features-list"> <?php while( have_rows('features') ): the_row(); $name = get_sub_field('feature_name'); ?> <li><?php echo esc_html($name); ?></li> <?php endwhile; ?> </ul><?php endif; ?>Использование ACF превращает WordPress в полноценную среду для разработки сложных интерфейсов с четко структурированными данными.
Интерактивный пример
Заголовок раздела «Интерактивный пример»Key-Value данные — как работают кастомные поля: