続、プラグインなしでコンタクトフォームを作成方法

更新日:


本日の人気記事BEST10

所要時間目安: 約 4

コンタクトフォーム

Stinger6 Stinger7 WordPress カスタマイズ 備忘録

コンタクトフォーム

 

先日、
WordPressでプラグインを使わないでお問い合わせ(先)フォーム(コンタクトフォーム)の作成する方法を記載しました。
(プラグインなし)

 

WordPressプラグインなしでコンタクトフォームを作成方法 | WordPressデビュー津々浦々

当ブログにも、ページの欄・所にコンタクトフォームを設けていて、 emailでメール送信されるようにしています。 コンタクトフォームは、 俗に言う「お問い合わせ先」

 

その時は、
記載のコードにミスがあることに気づかずに1行目を削除して…。

と書きました。

削除すると先述の通り管理画面の固定ページの作成の際に、

目次に戻る

コンタクトフォームのテンプレート属性を選ぶことができなくなりました。

 

ですが、
間違いに気づきましたので改めて記載します。



スポンサーリンク

正式なphpコードは以下です。

 

<?php /* Template Name: お問い合わせフォーム*/?>
 <?php
 if(isset($_POST['submitted'])) {

//項目チェック
 if(trim($_POST['checking']) !== '') {
 $captchaError = true;
 } else {

 //名前の入力なし
 if(trim($_POST['contactName']) === '') {
 $nameError = '名前が入力されていません';
 $hasError = true;
 } else {
 $name = trim($_POST['contactName']);
 }

 //メールアドレスの間違い
 if(trim($_POST['email']) === '') {
 $emailError = 'メールアドレスが入力されていません';
 $hasError = true;
 } else if (!preg_match('|^[0-9a-z_./?-]+@([0-9a-z-]+.)+[0-9a-z-]+$|', trim($_POST['email']))) {
 $emailError = 'メールアドレスが正しくありません';
 $hasError = true;
 } else {
 $email = trim($_POST['email']);
 }

 //お問い合わせ内容の入力なし
 if(trim($_POST['comments']) === '') {
 $commentError = 'お問い合わせ内容が入力されていません';
 $hasError = true;
 } else {
 if(function_exists('stripslashes')) {
 $comments = stripslashes(trim($_POST['comments']));
 } else {
 $comments = trim($_POST['comments']);
 }
 }

 //エラーなしの場合、メール送信
 if(!isset($hasError)) {
 mb_language("japanese");
 mb_internal_encoding("UTF-8");
 $emailTo = get_option('admin_email');
 $subject = 'お問い合わせ';
 $body = "お名前: $name nnメールアドレス: $email nnお問い合わせ内容: $comments";
 $title = get_bloginfo('name'); 
 $from = mb_encode_mimeheader(mb_convert_encoding("$titleのお問い合わせ","UTF-8"));
 $headers = 'From: '.$from.' <'.$emailTo.'>';
 mb_send_mail($emailTo, $subject, $body, $headers);
 //自動返信用
 $subject = 'お問い合わせ受付のお知らせ';
 $from = mb_encode_mimeheader(mb_convert_encoding("$title","UTF-8"));
 $headers = 'From: '.$from.' <'.$emailTo.'>';
 $body = "$name 様 nnお問い合わせありがとうございます。n改めて担当者よりご連絡をさせていただきます。nnお名前: $name nnメールアドレス: $email nnお問い合わせ内容: $comments";

mb_send_mail($email, $subject, $body, $headers);

$emailSent = true;

}
 }
 } ?>
 <?php get_header(); ?>
 <main>
 <?php if(isset($emailSent) && $emailSent == true) { ?>
 <h1 class="entry-title archive-title"><?=$name;?>様、お問い合わせありがとうございます。</h1>

メールを確認次第、返事をさせて頂きます。

<?php } else { ?>
 <?php if (have_posts()) : ?>
 <?php while (have_posts()) : the_post(); ?>
 <h1 class="entry-title archive-title"><?php the_title(); ?></h1>

<?php the_content(); ?>
 <form action="<?php the_permalink(); ?>" id="contactForm" method="post">
 <ol class="forms">
 <li><label for="contactName">お名前</label>
 <input type="text" name="contactName" id="contactName" value="<?php if(isset($_POST['contactName'])) echo $_POST['contactName'];?>" class="requiredField" />
 <?php if($nameError != '') { ?>
 <span class="error"><?=$nameError;?></span>
 <?php } ?>
 </li>
 <li><label for="email">メールアドレス</label>
 <input type="text" name="email" id="email" value="<?php if(isset($_POST['email'])) echo $_POST['email'];?>" class="requiredField email" />
 <?php if($emailError != '') { ?>
 <span class="error"><?=$emailError;?></span>
 <?php } ?>
 </li>
 <li class="textarea"><label for="commentsText">お問い合わせ内容</label>
 <textarea name="comments" id="commentsText" rows="20" cols="30" class="requiredField"><?php if(isset($_POST['comments'])) { if(function_exists('stripslashes')) { echo stripslashes($_POST['comments']); } else { echo $_POST['comments']; } } ?></textarea>
 <?php if($commentError != '') { ?>
 <span class="error"><?=$commentError;?></span>
 <?php } ?>
 </li>
 <li class="buttons"><input type="hidden" name="submitted" id="submitted" value="true" /><button type="submit">送信する</button></li>
 </ol></form>

<?php endwhile; ?>
 <?php endif; ?>
 <?php } ?>
 </main>
 <?php get_sidebar(); ?>
 <?php get_footer(); ?>

 

上記のようにphpファイルを新たに作って(作成)エディターでUTF-8にて保存してFTPソフトでテーマと同じディレクトリにアップロードします。

 

そうすると、
普通(通常通り)に以下の画像のように、

スポンサーリンク

固定ページ作成においても「テンプレート属性」をお問い合わせフォームに選択できるようになります。

 

WordPressコンタクトフォーム属性

 

※1行目の<php?の後に半角スペースがなかったので追加しただけです。

 

以上でプラグインを使わなくてもコンタクトフォームが作成できます。
以上でプラグインなしでコンタクトフォームを作ることができます。

参考になれば幸いです。

-Stinger6, Stinger7, WordPress, カスタマイズ, 備忘録
-, , , ,

関連記事一部広告

スポンサーリンク

+ クリックで展開します

おすすめ!!

加圧シェイプで24時間無意識運動状態が可能!! 引き締め効果で魅力的なシルエットをサポート!! 運動している時だけでなく、仕事やプライベート就寝中にも!! 通気性がよく、体の動かしやすい伸縮性のある素材です!! 常に体が引き締まって、着心地いい!! 毎日着たい方用にセットも充実!!

女性必見のバストアップにおすすめ!!

マンガでの商品説明を販売ページに採用しています。 商品のメリットや良さが伝わりやすいです。 ★知名度と信頼度!ニュースアプリや芸能人ブログでも話題! (インスタグラム SmartNews yahoo アメーバ crooz 楽天) ●知名度が高く購入率の高い商品です。 ●ニュースサイトの紹介でも話題となり、有名タレント、モデル等にも使用して頂きブログなどでも紹介されている信頼度の高い商品です。 ●まとめ買いが多いのが特徴です。

関連記事

WordPressクイックタグ登録

WordPress クイックタグ登録 不具合

WordPress投稿にクイックタグを登録方法。

早速ですが、 クイックタグ登録してみた。 テキストエディタにした時に、 いくつかボタン表示にてタグが登録されていました。 それを辿ってfunction.php内でクイックタグの部分を探して、 同じよう・・・続きを読む

Noto Sans CJKフォントインストール後画像

PC Windows10 カスタマイズ 伝えたいこと 備忘録

Windows10のフォントが汚いので変更方法

Windows10は、リリースされてからもうすぐ(3ヶ月で)1年になろうとしてます。 Windows10のデフォルトのフォントは汚いので、システムフォントを変更する方法です。 すでに多くの人はご存知か・・・続きを読む

カテゴリの人気記事一覧画像

WordPress カスタマイズ 伝えたいこと 備忘録

カテゴリの人気記事を表示する方法

  記事を読んで頂いていて該当記事を読み終わった後に、同じカテゴリーに属する人気記事を表示する方法です。 せっかく訪問して頂いて記事を読んでもらった後に同じカテゴリー内で人気のある記事が表示・・・続きを読む

PL学園時代KKコンビ

伝えたいこと 備忘録

清原さん、残念ですが…。面識もない一般人が記事を書くのを迷っていました。

  清原和博と言えば、 中高年世代の甲子園のヒーローでした。   その少し下の世代になると、 松坂大輔さんなど松坂世代と言われた世代の方たちがヒーローとなって世代交代と言いますか、・・・続きを読む

目次に戻る

よろしかったらシェアよろしくお願いします。



この記事が良かったら
いいね!お願いします(#^.^#)

WordPressデビュー津々浦々の
最新情報をお届けします

言えないことはTwitterで!!



  • この記事を書いた人
  • 最新記事

izumi

プロフィールページ詳細

はじめまして、izumiの旦那です。医療ミスにより長胸神経麻痺になってしまい若干の障害がありブログをさせていただいています。共同運営(しばらくは単独になると思います。)になりつつありますがよろしくお願いいたします。

Follow Me !

Copyright© WordPressデビュー津々浦々 , 2019 All Rights Reserved Powered by AFFINGER5.