Основа ACF
Краткий гайд по работе с плагином ACF для CMS WordPress
Краткий гайд по работе с плагином ACF для CMS WordPress
В этой статье мы рассмотрим, как использовать кастомные поля записи в плагине ACF для WordPress. Этот плагин позволяет создавать удобные административные панели для управления контентом сайта.
Поле «Повторитель» позволяет создать набор вложенных полей, которые можно повторять снова и снова во время редактирования содержимого!
Любой тип поля может быть добавлен к повторителю. Он позволяет легко создавать и управлять повторяющимися данными!
<?php
if( have_rows('repeater_field_name') ):
while ( have_rows('repeater_field_name') ) : the_row();
?>
<?php the_sub_field('sub_field_name'); ?>
<?
endwhile;
else :
endif;
?>
Поле «Объект записи» создает поле выбора, в котором вы можете выбрать ваши страницы + записи + пользовательские типы записей. Это поле полезно, если нужно предоставить выбрать посты только из определенного типа записей.
<?php
$post_object = get_field('post_object');
if( $post_object ):
// перезаписать $post
$post = $post_object;
setup_postdata( $post );
?>
<div>
<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
<span>Объект записи произвольного поля: <?php the_field('field_name'); ?></span>
</div>
<?php wp_reset_postdata();?>
<?php endif; ?>
<?php
$post_objects = get_field('post_objects');
if( $post_objects ): ?>
<?php foreach( $post_objects as $post): ?>
<?php setup_postdata($post); ?>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<span>Объект записи произвольного поля: <?php the_field('field_name'); ?></span>
<?php endforeach; ?>
<?php wp_reset_postdata();?>
<?php endif;
?>
Страница с опциями позволяет добавлять дополнительные страниц в панель администратора WP и использовать всю мощь полей ACF! Каждая страница администратора может быть полностью настроена (см. Примеры кода ниже). Также можно создать дочерние (вложенные) страницы.
if( function_exists('acf_add_options_page') ) {
//Добавление основного меню страницы опций
acf_add_options_page(array(
'page_title' => 'Основные настройки',
'menu_title' => 'Настройки темы',
'menu_slug' => 'theme-general-settings', //Важно добавить эту строчку во избежание багов
'capability' => 'edit_posts',
'redirect' => false
));
//Добавление дополнительного меню страницы опций
acf_add_options_sub_page(array(
'page_title' => 'Настройки шапки',
'menu_title' => 'Шапка',
'parent_slug' => 'theme-general-settings',
));
//Добавление дополнительного меню страницы опций
acf_add_options_sub_page(array(
'page_title' => 'Настройки подвала',
'menu_title' => 'Подвал',
'parent_slug' => 'theme-general-settings',
));
}