Я работаю над темой Wordpress, в которой есть анимированная контактная форма Jquery. У меня работает js (div, который отображается / скрывается при нажатии, с формой в нем). Вот статический HTML / PHP пример (нажмите кнопку «контакт»). В чем проблема, которую вы говорите? Проблема в том, что фактическая форма не отправляется. У меня есть php-файл contact engine.php, который отправляет форму в папку с именем php в моей директории шаблонов. В HTML у меня есть:
<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, который поставляется с каждым шаблоном, но я не знаю, как сделать ссылку на определенный фрагмент php внутри functions.php. Кто-нибудь знает, как это решить? Заранее спасибо!
P.S. PHP-скрипт выглядит так:
<?php
$EmailFrom = "contactformulier@stefanhagen.nl";
$EmailTo = "info@stefanhagen.nl";
$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\">";
}
?>