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?の後に半角スペースがなかったので追加しただけです。

 

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

参考になれば幸いです。

Stinger6, Stinger7, WordPress, カスタマイズ, 備忘録」同じカテゴリ人気記事


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

おすすめの記事一部広告

関連記事

ウイルスと緊急事態宣言画像

伝えたいこと 備忘録

新型コロナウイルス感染症は本当でしょうけれど本当なのか…

本当に、どうなっているのか・・・。 わからないテレビというメデイアに洗脳されているのか。そうではない…

もっと読む

2匹のネコ

WordPress 伝えたいこと 備忘録

SEOに強いのはBloggerとWordPressどっちなのか

昨今、(というか結構前から)言われているSEOですが…。 そのSEOについて、 良く言われるのがWo…

もっと読む

アイキャッチ画像自動設定

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

アイキャッチ画像を設定し忘れないように自動で設定する方法

WordPressやFC2ブログなどで、アイキャッチ画像を設定しなければならないのは意外と手間ですよ…

もっと読む

フィッシング詐欺メール

セキュリティ 伝えたいこと 備忘録 時事ネタ

「ご登録パスワード変更完了のお知らせ」三井住友銀行とゆうちょ銀行はフィッシング詐欺メールです!!

結構な時間をおいて…。 久しぶりにパソコンを立ち上げてみてメールを確認してみました。 そしたら、 三…

もっと読む

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

おすすめ!!

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

おすすめ2

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

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



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

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

言えないことはTwitterで!!



目次に戻る


コメントを閉じる

comment

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

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