在functions.php中获取相关组的ACF字段值(通过Post对象)

在functions.php中获取相关组的ACF字段值(通过Post对象),php,advanced-custom-fields,acfpro,wp-mail,Php,Advanced Custom Fields,Acfpro,Wp Mail,我有两种WordPress自定义帖子类型:客户端和测量 我还有两个ACF组:客户组和测量组 我有多个客户帖子 当我创建一个新的测量桩时,我可以通过“桩对象字段”选择一个客户机,以设置与客户机的关系 当我完成测量后,我想通过电子邮件将数据发送给客户 我知道如何发送包含所有测量数据的电子邮件,但我无法从相关客户帖子中获取电子邮件地址(repeater字段) 当我在模板文件中调用这些客户机电子邮件地址时,我可以执行以下操作(工作): 但是我发现我不能在functions.php文件中使用此代码,因为我

我有两种WordPress自定义帖子类型:客户端和测量

我还有两个ACF组:客户组和测量组

我有多个客户帖子

当我创建一个新的测量桩时,我可以通过“桩对象字段”选择一个客户机,以设置与客户机的关系

当我完成测量后,我想通过电子邮件将数据发送给客户

我知道如何发送包含所有测量数据的电子邮件,但我无法从相关客户帖子中获取电子邮件地址(repeater字段)

当我在模板文件中调用这些客户机电子邮件地址时,我可以执行以下操作(工作):

但是我发现我不能在functions.php文件中使用此代码,因为我必须使用
$\u POST['acf']
而不是
get\u字段
,这就是我丢失它的地方

下面的代码正在运行(通过演示对其进行了测试,
$to
),但我不知道需要在?????上放置什么才能获取相关客户端帖子中相关字段的子字段值

我希望我的问题很清楚

// Send measurement report emails
add_action('acf/save_post', 'yl_send_measurement_report_emails', 5);
function yl_send_measurement_report_emails( $post_id ) {

    // Get submitted values.
    $values             = $_POST['acf'];

    $measurement_client                     = $_POST['acf']['field_5e147914518a6']; // Post Object from CLIENT group
    $measurement_client_email_addresses     = ?????? // Repeater field of CLIENT group

    if ( $measurement_client_email_addresses ) {
        $list = array();
        foreach( $measurement_client_email_addresses as $measurement_client_email_address ) {
            $list[] = $measurement_client_email_address['field_5e1452c41945c']; // Sub field of the Repeater field in the CLIENT group
        }
        $to = implode(',', $list);
    }


    $subject    = get_field('measurement_setting_email_subject', 'measurement_settings');
    $message    = get_field('measurement_setting_email_content', 'measurement_settings');

    $headers = array
        (
        'From: ' . get_bloginfo('name') . ' <' . get_bloginfo('admin_email') . '>',
        'X-Mailer: PHP/' . phpversion(),
        'MIME-Version: 1.0',
        'Content-type: text/html; charset=iso-8859-1'
    );
    $headers = implode( "\r\n" , $headers );

    wp_mail( $to, $subject, $message, $headers );

}
//发送测量报告电子邮件
添加行动(“acf/保存帖子”、“yl发送测量报告”和“电子邮件”,5);
功能yl\u发送测量报告\u电子邮件($post\u id){
//获取提交的值。
$values=$_POST['acf'];
$measurement_client=$_POST['acf']['field_5e147914518a6'];//从客户端组发布对象
$measurement\u client\u email\u addresses=?????//客户端组的转发器字段
if($测量\客户\电子邮件\地址){
$list=array();
foreach($MEASURATION\客户\电子邮件\地址为$MEASURATION\客户\电子邮件\地址){
$list[]=$measurement\u client\u email\u address['field\u 5e1452c41945c'];//客户端组中继器字段的子字段
}
$to=内爆(“,”,$list);
}
$subject=get_字段('measurement_setting_email_subject'、'measurement_settings');
$message=get_字段('measurement_setting_email_content'、'measurement_settings');
$headers=数组
(
'发件人:'。获取'u bloginfo('name')。',
'X-Mailer:PHP/'.phpversion(),
'MIME版本:1.0',
'内容类型:text/html;charset=iso-8859-1'
);
$headers=内爆(“\r\n,$headers”);
wp_邮件($to、$subject、$message、$headers);
}
换句话说: 如何检索一个字段的字段值(在functions.php中),该字段实际上不在组/POST本身中,而是在一个连接的(通过POST对象)组/POST中?

仅用于共享:

$measurement_client_id = intval($_POST['acf']['field_5e147914518a6']);
$emails = array();

if (have_rows('email_repeater', $measurement_client_id)) {
  while (have_rows('email_repeater', $measurement_client_id)) {
    the_row();
    $emails[] = get_sub_field('email_field');
  }
}
所有的库多斯都去了

$measurement_client_id = intval($_POST['acf']['field_5e147914518a6']);
$emails = array();

if (have_rows('email_repeater', $measurement_client_id)) {
  while (have_rows('email_repeater', $measurement_client_id)) {
    the_row();
    $emails[] = get_sub_field('email_field');
  }
}