【问题标题】:Wordpress Email FormWordpress 电子邮件表格
【发布时间】:2013-03-21 08:02:18
【问题描述】:

Wordpress 电子邮件表单

大家好

我在许多网站中都使用过这种电子邮件表单,并且一直有效。

我尝试在 Wordpress 网站中使用它,但它不会

这种方法在 Wordpress 网站中不起作用有什么明显的原因吗?

我需要一个不会重新加载联系页面的电子邮件表单,因为表单位于底部。

html

    <form action="#" id="contact_form">
         <input type="text" id="name" placeholder="Name:">
         <input type="text" id="email" placeholder="Email:">
         <textarea id="message" rows="8" cols="40" placeholder="Message:"></textarea>
                <input type="submit" id="submit"/>
                <div id="status">
           <p></p>
         </div>
     </form>

jQuery

      $('#submit').click(function(){    
        //
        var nameVal = $('#contact_form #name').val();
        var emailVal = $('#contact_form #email').val();
        var messageVal = $('#contact_form #message').val();
        //
        $.post('/contact_form.php', {name: nameVal, email: emailVal, message: messageVal}, function(data){
            $("#status p").html(data);
            $("#status p").show().fadeOut(3500);
            if(data.indexOf('Thank You')==0) {document.forms[0].reset();}
        });
      })

php

        $errors = array();
        $required_fields = array('name','email','message');
        foreach($required_fields as $fieldname){
            if(!isset($_POST[$fieldname]) || empty($_POST[$fieldname])){
                $errors[] = $fieldname;
            }
        }

        if(empty($errors)){
            $name_field = Trim(stripslashes($_POST['name']));
            $name = explode(' ', $name_field);
            $firstname = ucfirst($name[0]);
            $email_field = Trim(stripslashes($_POST['email']));
            $message = Trim(stripslashes($_POST['message']));
            //
            $to = "info@ttmt.org.uk";
            $subject = "Email from Website";
            $body = "From: $name_field\n E-Mail: $email_field\n Message:\n $message";
            //
            mail($to, $subject, $body);
            echo "Thank You $firstname";
        }else{
            echo "Please complete all.";
        }

--- 更新---

我现在已经完成了一部分工作。

部分问题是 jquery 找不到 php。

我在 wp-conntent 中创建了一个“代码”文件夹并将 php 放在那里,jquery 看起来像这样。

    $j.post('wp-content/code/contactEngine.php', { theName:nameVal, theEmail:emailVal, theMessage:messageVal }, function(data){

现在我从 php 文件中获取返回的数据,但没有发送电子邮件。

这在 WP 中不起作用

    mail($to, $subject, $body);

【问题讨论】:

  • 究竟是什么不起作用?你有错误吗?日志文件说什么?
  • 你为什么不选择 WordPress 的“联系表格 7”插件。这将满足您的所有要求。
  • 发现 - 我没有从 php 文件中获取电子邮件或数据。我在哪里可以找到日志文件?
  • 如果有人可以提供帮助,我已经更新了我的帖子。

标签: wordpress email


【解决方案1】:

您不能在 Wordpress 中使用 $_POST['name']。为输入字段使用其他命名将解决您的问题,最终您可以使用“联系表格 7”Wordpress 插件以获得更好的用户体验:-)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-26
    • 2016-08-12
    • 2014-09-14
    相关资源
    最近更新 更多