链接到自定义WordPress主题中的自定义.php文件

问题描述:

我正在一个Wordpress主题中有一个Jquery动画联系人窗体。我有js的工作(一个div显示/隐藏在点击,其中的形式)。这是一个静态的HTML/PHP example(点击'联系'按钮)。你说什么问题?问题是实际的表单不能发送。我有一个php文件'contact engine.php',它发送一个名为'php'的文件夹到我的模板目录中。在HTML我有:链接到自定义WordPress主题中的自定义.php文件

<form method="post" action="<?php bloginfo('template_directory'); ?>/php/contactengine.php"> 
      <label for="Name">Name:</label> 
      <input type="text" name="Name" id="Name" /> 
      <label for="Email">Email:</label> 
      <input type="text" name="Email" id="Email" /> 
      <label id="bericht" for="Message">Message:</label><br /> 
      <textarea name="Message" rows="10" cols="20" id="Message"></textarea> 
      <input type="submit" name="submit" value="Submit" class="submit-button" /> 
</form> 

有点摆弄我已经缩小问题到实际的链接到PHP文件后。 Wordpress不会将输入发送到php文件,并且没有任何结果。在Google的一些会议结束后,我发现大多数人使用插件来实现这一点,我并不喜欢它。此外,似乎Wordpress不会让你编写自己的PHP代码片段来实现主题。我还发现了一些建议我应该将php代码片段放在每个模板附带的functions.php文件中,但我不知道如何链接到functions.php中的特定php片段。任何人都知道如何解决此问题?提前致谢!

P.S. PHP脚本是这样的:

<?php 

$EmailFrom = "[email protected]"; 
$EmailTo = "[email protected]"; 
$Subject = "Contactformulier StefanHagen.nl"; 
$Name = Trim(stripslashes($_POST['Name'])); 
$Tel = Trim(stripslashes($_POST['Tel'])); 
$Email = Trim(stripslashes($_POST['Email'])); 
$Message = Trim(stripslashes($_POST['Message'])); 

// validation 
$validationOK=true; 
if (!$validationOK) { 
print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">"; 
exit; 
} 

// prepare email body text 
$Body = ""; 
$Body .= "Name: "; 
$Body .= $Name; 
$Body .= "\n"; 
// $Body .= "Tel: "; 
// $Body .= $Tel; 
// $Body .= "\n"; 
$Body .= "Email: "; 
$Body .= $Email; 
$Body .= "\n"; 
$Body .= "Message: "; 
$Body .= $Message; 
$Body .= "\n"; 

// send email 
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>"); 

// redirect to success page 
if ($success){ 
print "<meta http-equiv=\"refresh\" content=\"0;URL=../index.html\">"; 
} 
else{ 
print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">"; 
} 
?> 
+0

什么是你的表单按钮的JavaScript? –

+0

表单不使用JavaScript,只有持有它的div使用jquery来显示/隐藏。该表单只是一个普通的html表单,带有一个发送它的.php文件。 –

+0

对不起,也许我误解了你。按钮本身使用CSS3转换有点动画。 –

我知道,当你提交在WordPress的表单您的代码将无法正常工作,因为WordPress的过滤所有的POST变量。当你使用你自己的脚本不应该发生。那么你的contactengine.php脚本是怎么样的。你使用包含WordPress的吗?如果是的话,你可以处理WordPress脚本。

我在您的网站上看到的是 <?php bloginfo('template_directory'); ?> 不显示。它也更好地使用 <?php echo get_template_directory_uri(); ?>

在使用插件的情况下,我也是这样做的。易于更改后端的表单,但这可能是一个负面因素,因为客户可以更改它。

+0

Thanx以提示马尔科!早上我会再多一点。我在原始问题 –

+0

中添加了.php文件此外,我在本地工作(http:// localhost:8888/...),我不知道这是否会影响任何内容? –

+0

我有一个插件,我定制的骨头;)ContactForm7 ...唯一的问题是,邮件在我的垃圾邮件垃圾邮件箱,所以我必须找出解决办法。 –