问题描述
我有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 (将#修改为@)