首页 > 解决方案 > 从 ACF 组中获取字段作为 vars

问题描述

我正在尝试从 ACF 获取值,group但无法通过两种方法获取它们:

以下是我ACF fields的设置方式以供参考:

在此处输入图像描述

方法一:

<?php

$welcome_screen_content = get_field('welcome_screen_content'); // type: group

if( $welcome_screen_content ):
  $title = get_field('title');
endif;


echo $title; // prints nothing

?>

方法二:

<?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;

?>

在我的帖子模板上,title确实有一个值:

在此处输入图像描述

所以不确定为什么在这两种尝试中,回显$title什么都不做?

标签: htmlwordpressadvanced-custom-fields

解决方案


get_field上使用时,高级自定义字段返回一个包含组字段的关联数组。因此,要获得标题,请执行以下操作:

$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它与Repeater 或 Flexible Content Fields一起使用。


推荐阅读