php - 使用密码保护表单时发送通知 - Wordpress

标签 php wordpress forms notifications

当前端用户填写 WordPress Core 受密码保护的表单时,我希望向网站管理员(或一个特定的电子邮件地址)设置一个新通知。

我已使用“the_password_form”过滤器向此表单添加了字段。

这是我的自定义密码表单代码:

add_filter( 'the_password_form', 'custom_password_form' );
function custom_password_form() {
    global $post;
    $o = '<form action="' . esc_url( site_url( 'wp-login.php?action=postpass', 'login_post' ) ) . '" method="post" class="password-form">
    <label for="Name">' . __( "Name:" ) . ' </label><input name="post_Name" type="text" placeholder="Name" required />
    <label for="Email">' . __( "Email:" ) . ' </label><input name="post_Email" type="email" size="20" placeholder="Email" required />
    <label for="password">' . __( "Password:" ) . ' </label><input name="post_password" id="password" type="password" size="20" placeholder="Password" required/>
    <input type="submit" name="post_Submit" value="' . esc_attr__( "Submit" ) . '" />
    </form>
    ';
    return $o;
}

我相信我需要创建一个操作,以便 $_GET 表单输入的内容,然后设置一个新的通知来发送一封电子邮件,其中包含姓名和电子邮件输入的内容(不是密码)。

有人对如何实现这一目标有任何建议吗?

简而言之: 创建一个操作,在提交密码表单时获取表单中的输入内容,设置通知,然后将该通知发送到包含这些输入字段内容的指定电子邮件地址。

谢谢!

最佳答案

试试这个功能。

add_filter( 'init', 'email_custom_password_form' );

function email_custom_password_form() {
    if($_REQUEST['action']=="postpass")
    {
        $to = get_option( 'admin_email' );
        $subject = 'Password Protection Form Notification';
        $headers = "MIME-Version: 1.0\r\n"; 
        $headers.= "Content-type: text/html; charset=iso-8859-1\r\n"; 
        $headers.= "From:<" . $to . ">\r\n";

        $message = 'Name: '.$_REQUEST['post_Name'].'<br>';
        $message.= 'Email: '.$_REQUEST['post_Email'].'<br>';

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

关于php - 使用密码保护表单时发送通知 - Wordpress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51789310/

相关文章:

PHP/MySQL 过滤数据时遇到问题

php - 表单验证问题

css - 如何从我的 wordpress 网站中的 iframe 中删除 png 透明度

html - 如果输入标签没有名称,表单数据是否仍然传输?

即使有人选择浏览器,Javascript也会停止提交提交按钮 "prevent this page from creating additional dialogs”

PHP 未定义索引

php - 将日期转换为 UNIX 时间戳

php - WordPress自定义帖子类型管理页面布局

javascript - 使用 Select2 而不是实际选择时不会触发 WooCommerce 事件

php - 运行准备好的语句 (MySQL/PHP)