ACF поля и шорткоды на WordPress. Как вставить в PHP?
Как вставить разные ACF поля и шорткоды на WordPress сайте непосредственно в код?
Изображение (ACF поля)
<?php $image = get_field('image');
if( !empty( $image ) ): ?>
<img src="<?php echo esc_url($image['url']); ?>" alt="<?php echo esc_attr($image['alt']); ?>" width = "160" />
<?php endif; ?>
Текст (ACF поля)
<?php $title = get_field('title');
if( !empty( $title ) ): ?>
<?php the_field('title'); ?>
<?php endif; ?>
Краткая запись
<?php $title = get_field('title'); ?>
<?php echo !empty($title) ? $title : ''; ?>
или
<?php echo !empty(get_field('title')) ? get_field('title') : ''; ?>
Текст на странице таксономии:
$queried_object = get_queried_object(); the_field( 'title', $queried_object );
Ссылка (ACF поля)
URL ссылки:
<?php $link = get_field('link');
if( $link ): ?>
<a class="button" href="<?php echo esc_url( $link ); ?>">Continue Reading</a>
<?php endif; ?>
Массив ссылки:
<?php $link = get_field('link');
if( $link ):
$link_url = $link['url'];
$link_title = $link['title'];
$link_target = $link['target'] ? $link['target'] : '_self'; ?>
<a class="button" href="<?php echo esc_url( $link_url ); ?>" target="<?php echo esc_attr( $link_target ); ?>">
<?php echo esc_html( $link_title ); ?> </a>
<?php endif; ?>
Повторитель (ACF поля)
// Проверить наличие значений в повторителе.
if( have_rows('repeater_field_name') ):
// Перебрать ряды
while( have_rows('repeater_field_name') ) : the_row();
// Загрузить значение подполя в переменную
$sub_value = get_sub_field('sub_field_name');
// или сразу вывести вложенное поле
the_sub_field('sub_field_name');
// Сделай что-нибудь...
endwhile;
// Конец Перебрать ряды
// Нет значений в повторителе
else :
// Сделай что-нибудь...
endif;
Базовый цикл PHP foreach:
<?php $rows = get_field('repeater_field_name');
if($rows){
echo '<ul>';
foreach($rows as $row){
echo '<li>sub_field_1 = ' . $row['sub_field_1'] . ', sub_field_2 = ' . $row['sub_field_2'] .', etc</li>';
}
echo '</ul>';
}
Получение поля на другой странице
<?php echo get_field('field_name', 123); ?>
Где 123 — ID записи, для которой заполнено поле
Получение поля со страницы настроек
<?php echo get_field('field_name', 'option'); ?>
Шорткод
<?php echo do_shortcode( '[pgc_simply id="8"]' ); ?>
Шорткод (ACF)
<?php echo do_shortcode( '' ); ?>

