#html #wordpress #advanced-custom-fields
#HTML #wordpress #дополнительно-пользовательские-поля
Вопрос:
Я пытаюсь получить значения из ACF group
, но не могу получить их с помощью двух подходов:
Вот как мои ACF fields
настроены для справки:
Подход 1:
<?php
$welcome_screen_content = get_field('welcome_screen_content'); // type: group
if( $welcome_screen_content ):
$title = get_field('title');
endif;
echo $title; // prints nothing
?>
Подход 2:
<?php
if( have_rows('welcome_screen_content') ):
while( have_rows('welcome_screen_content') ): the_row();
$title = get_sub_field('title');
echo $title; // prints nothing
endwhile;
endif;
?>
В моем шаблоне post title
имеет значение:
Так что не уверен, почему в обеих попытках эхо $title
ничего не делает?
Ответ №1:
При использовании get_field
в группе Advanced Custom Fields возвращает ассоциативный массив, содержащий поля группы. Итак, чтобы получить заголовок внутри, вы делаете это:
$welcome_screen_content = get_field('welcome_screen_content'); // type: group
if( $welcome_screen_content ):
$title = $welcome_screen_content['title'];
endif;
Подход 1 работает не так, как ожидалось, поскольку get_field('title')
запрашивает ACF для получения поля на том же уровне, что и группа «welcome_screen_content».
Подход 2 работает не так, как ожидалось, поскольку get_subfield
предназначен для использования с повторителями или гибкими полями содержимого.