无法使用 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;
        }
    }
}

解决方法

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

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

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