在wordpress的front-page.php页面中创建自定义联系表单

问题描述

我正在研究网站主题,并希望创建自定义联系表。这是wordpress中的单页主题,其中有front-page.PHP文件,其中我正在联系表单中实现该表单。

<form action="<?PHP the_permalink(); ?>" id="contactForm" method="POST">

                            <div class="form-group">
                                <input type="text" class="form-control" placeholder="Name" name="name" id="name" value="<?PHP if (isset($_POST['name'])) echo $_POST['name']; ?>" class="required requiredField" />
                                <?PHP if ($nameError != '') { ?>
                                    <span class="error"><?= $nameError; ?></span>
                                <?PHP } ?>
                            </div>
                            <br />
                            <div class="form-group">
                                <input type="text" class="form-control" placeholder="Email" name="email" id="email" value="<?PHP if (isset($_POST['email']))  echo $_POST['email']; ?>" class="required requiredField email" />
                                <?PHP if ($emailError != '') { ?>
                                    <span class="error"><?= $emailError; ?></span>
                                <?PHP } ?>
                            </div>
                            <br />
                            <div class="form-group">
                                <input type="text" class="form-control" placeholder="Phone" name="phone" id="phone" value="<?PHP if (isset($_POST['phone']))  echo $_POST['phone']; ?>" class="required requiredField phone" />
                                <?PHP if ($phoneError != '') { ?>
                                    <span class="error"><?= $phoneError; ?></span>
                                <?PHP } ?>
                            </div>
                            <br />
                            <div class="form-group">
                                <textarea class="form-control" placeholder="Messege" name="messege" id="messegeText" rows="2" class="required requiredField">
                                <?PHP if (isset($_POST['messege'])) {
                                    if (function_exists('stripslashes')) {
                                        echo stripslashes($_POST['messege']);
                                    } else {
                                        echo $_POST['messege'];
                                    }
                                } ?></textarea>
                                <?PHP if ($messegeError != '') { ?>
                                    <span class="error"><?= $messegeError; ?></span>
                                <?PHP } ?>
                            </div>
                            <div class="form-group">
                                <input class="btn btn-danger" type="submit" value="Send"></input>
                            </div>
                            <input type="hidden" name="submitted" id="submitted" value="true" />
                        </form>

<?PHP
if(isset($_POST['submitted'])) {
    if(trim($_POST['name']) === '') {
        $nameError = 'Please enter your name.';
        $hasError = true;
    } else {
        $name = trim($_POST['name']);
    }
    
    if(trim($_POST['phone']) === '') {
        $phoneError = 'Please enter your phone number.';
        $hasError = true;
    } else {
        $phone = trim($_POST['phone']);
    }

    if(trim($_POST['email']) === '')  {
        $emailError = 'Please enter your email address.';
        $hasError = true;
    } else if (!preg_match("/^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$/i",trim($_POST['email']))) {
        $emailError = 'You entered an invalid email address.';
        $hasError = true;
    } else {
        $email = trim($_POST['email']);
    }

    if(trim($_POST['messege']) === '') {
        $messegeError = 'Please enter a message.';
        $hasError = true;
    } else {
        if(function_exists('stripslashes')) {
            $messege = stripslashes(trim($_POST['messege']));
        } else {
            $messege = trim($_POST['messege']);
        }
    }

    if(!isset($hasError)) {
        $emailTo = get_option('emailid');
        if (!isset($emailTo) || ($emailTo == '') ){
            $emailTo = get_option('emailid');
        }
        $subject = '[PHP Snippets] From '.$name;
        $body = "Name: $name \n\nEmail: $email \n\Messege: $messege";
        $headers = 'From: '.$name.' <'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $email;
        wp_mail($emailTo,$subject,$body,$headers);
        $emailSent = true;
    }

} ?>

以上是代码,但是在单击提交时,我将重定向到另一个页面,例如single.PHP,其中存在单个帖子,但是我想将邮件发送到给定的电子邮件,但是这没有发生。任何人都可以帮我这个忙

解决方法

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

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

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