私は実際には開発者ではなく、デザイナーであることを指摘したいと思います。Wordpressテンプレートファイルにカスタムお問い合わせフォームを合わせようとしています。これは、 Cats Who Code:Wordpressテーマの組み込みの連絡フォームを作成する方法にあるチュートリアルに基づいて原則的に機能します。
お問い合わせフォームを変更して、次のようにしました。
- 名前(テキストフィールド)
- 会社(テキストフィールド)
- 住所(テキストエリア)
- メールアドレス(テキストフィールド)
- 電話(テキストフィールド)
- モバイル(テキストフィールド)
- お問い合わせ(テキストエリア)
ただし、それをカスタムテンプレートに統合し、Wordpressのインストールに配置すると、空白のコードを含む空白のページが表示されます。なぜこれが起こっているのか疑問に思っています。テンプレートからお問い合わせフォームを削除すると、お問い合わせフォームがなくても問題ありません。以下にテンプレートコード全体を示します。
<?php
if(isset($_POST['submitted'])) {
if(trim($_POST['name']) === '') {
$nameError = 'Please enter your name.';
$hasError = true;
} else {
$name = trim($_POST['name']);
}
if(trim($_POST['company']) === '') {
$companyError = 'Please enter your company name.';
$hasError = true;
} else {
$company = trim($_POST['company']);
}
if(trim($_POST['address']) === '') {
$addressError = 'Please enter your address.';
$hasError = true;
} else {
if(function_exists('stripslashes')) {
$address = stripslashes(trim($_POST['address']));
} else {
$address = trim($_POST['address']);
}
}
if(trim($_POST['email']) === '') {
$emailError = 'Please enter your email address.';
$hasError = true;
} else if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", trim($_POST['email']))) {
$emailError = 'You entered an invalid email address.';
$hasError = true;
} else {
$email = trim($_POST['email']);
}
if(trim($_POST['telephone']) === '') {
$telephoneError = 'Please enter your telephone number.';
$hasError = true;
} else {
$telephone = trim($_POST['telephone']);
}
if(trim($_POST['mobile']) === '') {
$mobileError = 'Please enter your mobile phone number.';
$hasError = true;
} else {
$mobile = trim($_POST['mobile']);
}
if(trim($_POST['enquiry']) === '') {
$enquiryError = 'Please enter a message.';
$hasError = true;
} else {
if(function_exists('stripslashes')) {
$enquiry = stripslashes(trim($_POST['enquiry']));
} else {
$enquiry = trim($_POST['enquiry']);
}
}
if(!isset($hasError)) {
$emailTo = get_option('tz_email');
if (!isset($emailTo) || ($emailTo == '') ){
$emailTo = get_option('admin_email');
}
$subject = '[Blue Doors] From '.$name;
$body = "Name: $name \n\nCompany: $company \n\nAddress: $address \n\nEmail: $email \n\nTel: $telephone \n\nMobile: $mobile \n\nDetails of Enquiry: $enquiry";
$headers = 'From: '.$name.' <'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $email;
mail($emailTo, $subject, $body, $headers);
$emailSent = true;
}
} ?>
<?php get_header(); ?>
<section class="content">
<?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?>
<header class="content-title">
<h1><?php the_title(); ?></h1>
</header>
<article class="content-body">
<?php the_post_thumbnail(); ?>
<?php the_content(); ?>
</article>
<article class="content-body">
<?php if(isset($emailSent) && $emailSent == true) { ?>
<div class="thanks">
<p>Thanks, your email was sent successfully.</p>
</div>
<?php } else { ?>
<?php the_content(); ?>
<?php if(isset($hasError) || isset($captchaError)) { ?>
<p>Sorry, an error occured.<p>
<?php } ?>
<form action="<?php the_permalink(); ?>" id="contactform" method="post">
<ul>
<li>
<label>What is your name?</label>
<input type="text" name="name" id="name" value="<?php if(isset($_POST['name'])) echo $_POST['name'];?>" class="required"/>
<?php if($nameError != '') { ?>
<span class="error"><?=$nameError;?></span>
<?php } ?>
</li>
<li>
<label>What is your company's name?</label>
<input type="text" name="company" id="company" value="<?php if(isset($_POST['company'])) echo $_POST['company'];?>" class="required"/>
</li>
<li>
<label class="address">What is your address?</label>
<textarea name="address" id="address" rows="5" cols="30" class="required"><?php if(isset($_POST['address'])) { if(function_exists('stripslashes')) { echo stripslashes($_POST['address']); } else { echo $_POST['address']; } } ?></textarea>
<?php if($addressError != '') { ?>
<span class="error"><?=$addressError;?></span>
<?php } ?>
</li>
<li>
<label>What is your email address?</label>
<input type="text" name="email" id="email" value="<?php if(isset($_POST['email'])) echo $_POST['email'];?>" class="required" />
<?php if($emailError != '') { ?>
<span class="error"><?=$emailError;?></span>
<?php } ?>
</li>
<li>
<label>What is your telephone no?</label>
<input type="text" name="telephone" id="telephone" value="<?php if(isset($_POST['telephone'])) echo $_POST['telephone'];?>" class="required" />
<?php if($nameError != '') { ?>
<span class="error"><?=$telephoneError;?></span>
<?php } ?>
</li>
<li>
<label>What is your mobile no?</label>
<input type="text" name="mobile" id="mobile" value="<?php if(isset($_POST['mobile'])) echo $_POST['mobile'];?>" class="required" />
<?php if($mobileError != '') { ?>
<span class="error"><?=$mobileError;?></span>
<?php } ?>
</li>
<li>
<label>What would you like to discuss about with Blue Doors?</label>
<textarea name="enquiry" id="enquiry" rows="8" cols="30" class="required"><?php if(isset($_POST['enquiry'])) { if(function_exists('stripslashes')) { echo stripslashes($_POST['enquiry']); } else { echo $_POST['enquiry']; } } ?></textarea>
<?php if($enquiryError != '') { ?>
<span class="error"><?=$enquiryError;?></span>
<?php } ?>
</li>
<li>
<button type="submit" class="submitbutton">Submit your enquiry</button>
</li>
</ul>
<input type="hidden" name="submitted" id="submitted" value="true" />
</form>
</article>
<?php endwhile; endif; ?>
</section>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
私はそれがどこで壊れているのかを理解しようとしていますが、PHPはあまり得意ではなく、理解することもできません。誰かが私が間違っているところを指摘できますか、それは大いにありがたいです。