php - 无法使用 acf_form_head() 和 wp_mail 从 ACF 用户电子邮件数组发送电子邮件
问题描述
在这里,我有一个函数“email_group_members”,它在 wp-admin 中向 CPT 添加了一个元框。然后我有另一个函数“group_members_html()”,它添加了高级自定义字段“acf_form_head()”函数,它使用发送按钮添加了“标题”和“内容”输入。
我花了很长时间试图弄清楚为什么没有发送电子邮件。电子邮件数据的 foreach 当前确实返回。
基本上,我正在尝试在管理员 CPT 中创建一个表单,该表单向“$user_email”中的用户电子邮件发送电子邮件。
任何指导都将非常有帮助和赞赏。
function email_group_members() {
$screens = [ 'groupmembers', '' ];
foreach ( $screens as $screen ) {
add_meta_box(
'email_group_id', // Unique ID
'Email Group Members', // Box title
'group_members_html', // Content callback, must be of type callable
$screen // Post type
);
}
}
add_action( 'add_meta_boxes', 'email_group_members' );
function group_members_html() {
global $post;
$users = get_field("select_users_for_group");
if( $users ) {
acf_form_head(); ?>
<div id="content">
<?php
acf_form(array(
'post_id' => 'new_post',
'post_title' => true,
'post_content' => true,
'new_post' => array(
'post_type' => 'contact_membership',
'post_status' => 'publish'
),
'return' => home_url('contact-form-thank-you'),
'submit_value' => 'Send'
));
?>
</div>
<?php
add_action('acf/save_post', 'my_save_post');
function my_save_post( $post_id ) {
foreach( $users as $user ): ?>
<?php
// vars
$post = get_post( $post_id );
$user_info = get_userdata($user);
$first_name = $user_info->first_name;
$last_name = $user_info->last_name;
$user_email = "$first_name $last_name <$user_info->user_email>";
echo "<br> $first_name | $last_name | $username | $user_email <br>";
$subject = $post->post_title;
$message = $post->post_content;
$headers = array('Content-Type: text/html; charset=UTF-8');
wp_mail( $user_email, $subject, $message, $headers);
endforeach;
}
}
}
解决方案
推荐阅读
- vba - 更改 Solidworks 零件上的文本
- python - 可视化值分布不均匀的两个数据集的共享正常运行时间
- css - 如何将 alpha 值添加到 css 中的变量?
- c++ - 如何将类的成员函数传递给线程?
- r - 如何组合相同的行号?在 R 中
- visual-studio - PackageReference 版本被忽略
- android - 在不改变分辨率的情况下减小图像大小 android studio
- reactjs - 收到错误:找不到模块:无法解析“firebase/app”
- python-3.x - 有什么方法可以中断 Concurrent.Futures?
- google-ads-api - 如何在 AdWords 中创建测试帐户