Loading…

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

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

本日の人気記事BEST10

所要時間目安:4


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

コンタクトフォーム

コンタクトフォーム

 

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

 

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

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

 

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

と書きました。

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

よく読まれている人気記事一覧

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

 

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

スポンサーリンク

アドセンス336pxPC閲覧記事下表示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?の後に半角スペースがなかったので追加しただけです。

 

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

参考になれば幸いです。


アドセンス336pxPC閲覧記事下表示1つ目コード

同じカテゴリーの記事一覧


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

同じカテゴリ人気記事

おすすめの記事一部広告

関連記事

小林麻耶

伝えたいこと 備忘録 時事ネタ 治療

小林麻耶さんパニック障害とか出てるけど体調が気になる…。

(アイキャッチ画像は、「小林麻耶オフィシャルブログ「まや☆日記」Powered by Ameba」のスクショより。) 小林麻耶さんが2016年5月19日放送されたフジテレビのバイキング生放送中に途中退…

もっと読む

YouTube動画編集中が変わらない

伝えたいこと 備忘録

YouTube動画編集中が終わらない場合の対処方法

もうすでにYouTubeというGoogleの無料動画サービスは周知の事実です。 私は、 最近始めてみたのですが…。 そんなにアップロードするものはないのですが トホホ・・。 よく読まれている人気記事一…

もっと読む

Google Analytics「not set」

インターネット セキュリティ 伝えたいこと 備忘録

Google Analytics「not set」が気になったので調べてみた

多くの人がアクセス解析に用いていると思われるGoogle Analyticsで、ときおり見かける「not set」というキーワードがあります。 他にも、「not provided」もありますが…。こち…

もっと読む

スマホ電波状態が悪い時の改善方法

Android iPhone スマホ 伝えたいこと 備忘録 旅行

スマホの電波状態が悪い時に手っ取り早く改善する1つの方法

今では携帯電話の電波が悪いというよりスマホの電波状態が悪いということの方が多いと思われます。 そんなスマホの電波が悪くて途切れ途切れになってしまったりした時に、電波が悪い状態を一発で改善するひとつの方…

もっと読む

目次に戻る

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

おすすめ!!

世界中でNo.1のシャアを誇るAmazonでのお得なお買い物でお得をしよう!!ネット通販なので、もちろん24時間年中無休です。健康商品から食品、車カスタマイズ商品、大手家電メーカー商品やパソコンの自作サプライ商品、その他アマゾン・プライムでは映画やドラマなど多くの作品や番組を見ることができます。マスクなど衛生商品も今では必須アイテム。一番信用できて一番商品数の多いAmazonでの買い物が絶対にオススメ!!

おすすめ2

楽天による季節特集です。それぞれの季節ごとにお得なお買い物商品やお得な旅行商品、その他にもAmazon同様に国内最大の買い物ポータルサイトです。楽天をメインにお買い物されている方はポイントやSPUも貯まりさらにお得に!!楽天カードや宇佐美系列のガソリンスタンドでも楽天ポイントが今では貯まります。それらのポイントを貯めてお得にお買い物や旅行商品その他にもパソコンサプライや車カスタマイズ商品など楽天も充実しています。

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



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

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

言えないことはTwitterで!!



目次に戻る

目次に戻る


コメントを閉じる

comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

スポンサーリンク