在functions.php中获取相关组的ACF字段值通过Post Object

问题描述

我有2种WordPress自定义帖子类型:“客户端”和“度量”

我也有2个ACF组:CLIENT和MEASUREMENT

我有多个CLIENT帖子。

创建新的MEASUREMENT帖子时,我可以通过“帖子对象字段”选择一个CLIENT,以设置与CLIENT的关系。

当我完成了MEASUREMENT帖子后,我想通过电子邮件将数据发送给客户端。

我知道如何发送包含所有MEASUREMENT数据的电子邮件,但是我无法从相关的CLIENT帖子中获取电子邮件地址(中继器字段)。

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

$measurement_client                 = get_field('measurement_client'); // Post Object in MEASUREMENT group
$measurement_client_email_addresses = get_field('company_email_addresses',$measurement_client->ID); // Repeater field in CLIENT group

但是我发现我不能在我的functions.php文件中使用此代码,因为我必须使用$_POST['acf']来代替get_field,这是我丢失的地方。

下面的代码可以正常工作(已通过演示$to进行了测试),但我不知道在 ?????? 上需要放置什么才能获得子字段相关CLIENT帖子中相关字段的值...

我希望我的问题清楚吗?

// 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 );

}

因此,换句话说: 如何检索不在GROUP / POST本身而是在连接的(通过post对象)GROUP / POST中的字段的字段值(在functions.php中)?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)