現在の接続環境は
です

記事内にプロモーションが含まれています。

プロモーションを含みます

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

記事上に人気記事表示

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

所要時間目安:9

This session is using  IPv4  is established in

この記事は2016年2月16日のものです。現在は状況が異なる可能性がありますのでご注意ください。

目次に行く・戻る

2025年4月4日 (金曜日)↓における週間月間人気記事トップ3は?↓

  • 本日
  • 週間
  • 月間
  1. アイドリングストップシステム異常警告灯表示対処方法 2PV

    2010年前後以降の車に搭載されていることの多いアイドリングストップシステム。各自動車メーカーによって呼び名は異なりますが、機能としては信号待ちが長い時や停止時間が長い時などに勝手に(自動的に)アイド…

    もっと読む

  2. フリー素材モデル茜さや

    つまらない…。人生とは?人間とは?生きるとは?健康とは?病気とは? 1PV

    つまらない…。そんなふうに思ったり考えたりしてしまうことは誰にでもあると思います。そんな中どうやって生きていけばよいのか。どうやって対応していけばよいのか。様々なことを考えさせられます。それが人生なの…

    もっと読む

  3. 参議院議員選挙自民党広告

    そうだ!選挙に行こう!!今回は18才以上の選挙権初の参院選です。 1PV

    (アイキャッチ画像は今回の参議院議員選挙のインターネット広告のスクリーンショットです。) いよいよ、明日7月10日は参議院議員選挙の投票日です。 投票日でもあり開票日でもあります。(投開票日) (今更…

    もっと読む

  1. アイドリングストップシステム異常警告灯表示対処方法 28PV

    2010年前後以降の車に搭載されていることの多いアイドリングストップシステム。各自動車メーカーによって呼び名は異なりますが、機能としては信号待ちが長い時や停止時間が長い時などに勝手に(自動的に)アイド…

    もっと読む

  2. エンジンスターターリモコン

    カーメイトのエンジンスターターでエラー15表示と対処方法 26PV

    夏冬に特に重宝するのが、エンジンスターターです。 メーカーはCARMATEやCOMTECユピテルなど各社ありますが、一番のオススメはリモコンから多くの情報を得ることができるカーメイト製品です。 なぜか…

    もっと読む

  3. エクストレイルT32運転席側バイザーメッキモール剥がれ修復方法とオススメ両面テープ 23PV

    車の購入後、乗ろうが乗らまいが経年劣化というものは付きものなのですが、特にプラスチック部分や両面テープ部分などは経年劣化がどうしても起きてきてしまいます。 そんな車でも長めにお気に入りの愛車となれば長…

    もっと読む

  1. アイドリングストップシステム異常警告灯表示対処方法 16PV

    2010年前後以降の車に搭載されていることの多いアイドリングストップシステム。各自動車メーカーによって呼び名は異なりますが、機能としては信号待ちが長い時や停止時間が長い時などに勝手に(自動的に)アイド…

    もっと読む

  2. エクストレイルT32運転席側バイザーメッキモール剥がれ修復方法とオススメ両面テープ 13PV

    車の購入後、乗ろうが乗らまいが経年劣化というものは付きものなのですが、特にプラスチック部分や両面テープ部分などは経年劣化がどうしても起きてきてしまいます。 そんな車でも長めにお気に入りの愛車となれば長…

    もっと読む

  3. エンジンスターターリモコン

    カーメイトのエンジンスターターでエラー15表示と対処方法 10PV

    夏冬に特に重宝するのが、エンジンスターターです。 メーカーはCARMATEやCOMTECユピテルなど各社ありますが、一番のオススメはリモコンから多くの情報を得ることができるカーメイト製品です。 なぜか…

    もっと読む

今日は2025年4月4日です。

メルカリ招待コード:

コンタクトフォーム

 

当ブログにも、ページの欄・所にコンタクトフォームを設けていて、
emailでメール送信されるようにしています。

コンタクトフォームは、
俗に言う「お問い合わせ先」です。

今はSNSで匿名的なブログなどでも連絡手段があり得ることもありますが、
もし、何かあった場合にはやはり「お問い合わせ先」として、
コンタクトフォームがあった方が良いと思われます。

 

そのコンタクトフォームですが、

この記事を読む方へのオススメ


WordPressでは有名なプラグイン:Contact Form7というものがあります。

 

ですが、
jsやcssなどプラグインを導入すると意外とページ表示速度が遅くなってしまったりします。
(多くのプラグインを導入している場合は特に…。)

要は、
Contact Form7をインストールすると、

全ページでContact Form7のCSSとJavaScript が読み込まれてしまいます。

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

そこで、
少しでもプラグインを使わずにできることはプラグインを使用しないでやっていこうと思いました。

 

プラグインなしでコンタクトフォームを作成するには、

 

Stinger6の場合ですと以下のコードをphpファイルとして新たに作成して、
テーマディレクトリ内にアップロードします。
(contact-form.php)必ずUTF-8形式です。

 

<?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(); ?>

 

そして、

固定ページの作成でテンプレート属性をお問い合わせフォームにします。

 

すると…。

なぜかエラー表示なってしまいました。^^;)

エラー表示内容を見ると、
なにやら1行目が云々とありました。
(すみませんスクリーンショット撮り忘れました。)

なので、
1行目にコメントアウトしてあるはずの
/*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(); ?>

 

そうすると、
固定ページを作成する際にテンプレート属性で「お問い合わせフォーム」と選択できた部分が、
選択不能になりますが、
ブログ上ではちゃんとしっかりとコンタクトフォームとして機能しています。
(お問い合わせ先とも言う…。)

なので、
まだまだ零細的な当ブログでは機能しているので問題ありません。

 

一応スタイルcssは以下です。(CSS)

 

/*コンタクトフォーム*/
 .forms {
 margin:16px
 }

.forms li {
 margin:16px;
 list-style:none
 }

.forms label {
 cursor:pointer;
 display:block;
 font-weight:800
 }

.forms input,.forms textarea {
 border:1px solid #7E8AA2;
 border-radius:8px;
 padding:8px;
 width:240px;
 font-size:100%
 }

.forms li .error {
 font-size:80%;
 color:red
 }

.forms li.textarea .error {
 display:block;
 position:absolute;
 right:0;
 top:0
 }

.forms li.buttons button {
 cursor:pointer;
 padding:8px
 }
 /*コンタクトフォーム*/

 

特にCSSは指定しなくても普通に機能します。

また、若干のバグなのか右サイドバーがカラム落ちしちゃってますが…。

気にしません。

何より機能するかしないかが一番重要です!!

以上、
プラグインなしでコンタクトフォーム(お問い合わせ先)を追加・作成する方法でした。

参考になれば幸いです。

 

追記)2016年2月17日の記事で訂正版を修正して投稿しました。

 

お手数ですが、
固定ページでの属性の選択ができるように修正したphpコードをお試ししてみてください。m(__)m

以下です。
続、プラグインなしでコンタクトフォームを作成方法 | せきろぐ

よろしくお願いします。

Windows10サポート終了まで
193日 20時間 29分 39秒

【AmazonタイムセールSALE車&バイク】!


人気の商品が日替わりで登場。毎日お得なタイムセール「Amazonタイムセール全体」

出展:Amazonタイムセール

人気の商品が日替わりで登場。毎日お得なタイムセール

あなたにおすすめな関連記事

jfif画像ファイルをjpgに戻す直す方法

PC Windows10 カスタマイズ ブラウザChrome 不具合 伝えたいこと 備忘録 設定

ダウンロードしたjfif画像ファイル拡張子を元のjpgに直す・戻す2つの方法

この年末年始は新型コロナウイルス感染症の自粛による影響で家にいらっしゃった方も多かったのではないでしょうか。(テレビなどで見る限りでは・・・。明治神宮など各神社や大社や大使なの有名所では・・・。)そん…

もっと読む

インフィード広告アドセンス

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

日本郵便、郵便局内にてゆうちょ銀行顧客情報を不正利用合計1000万人分

日本郵政は2007年に可決された郵政民営化後に徐々に郵便事業・簡易保険事業(かんぽ生命)貯金事業(ゆうちょ銀行)の3本柱を分社化し完全民営化してくということでした。郵政民営化法からもう少しで約20年に…

もっと読む

インフィード広告アドセンス

テレビリモコンHUIS REMOTE CONTROLLERリモコンカスタマイズ

ツール 伝えたいこと 備忘録 時事ネタ

テレビリモコンが壊れたり無くしたり見つからない場合HUISで対処方法

テレビリモコンって、意外とというか結構な確率で見つからないことってありますよね。そんなことで何度か夫婦ゲンカになったり、家族ゲンカになったり、兄弟ゲンカになったりと責任のなすりつけ合いになってしまうこ…

もっと読む

インフィード広告アドセンス

記事上に人気記事表示

Stinger6 WordPress カスタマイズ

アイキャッチ画像設定し忘れプラグインなし自動設定方法Stinger6

WordPressを使用すると、 アイキャッチ画像の設定が簡単に可能になります。 中でも人気のテーマStingerシリーズだとなおさらいろいろな機能が元々色々あってとても便利です。 そのStinger…

もっと読む

インフィード広告アドセンス

おかしな日本語の使い方

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

なんとなくおかしな日本語の使い方と正しい日本語の使い方

昨今では、「全然(ぜんぜん)」◯◯という言葉がある意味では普通になってきています。私の覚えている限りではおおよそ10年くらい前からでしょうか…。そもそも、「全然」という言葉は基本的には否定形な意味合い…

もっと読む

インフィード広告アドセンス

大山式ボディメイクパット趾

STINGER PLUS+ Stinger6 Stinger7 WordPress カスタマイズ テーマ 備忘録

WordPress自分のショートコード備忘録

現在の自分が使用しているテーマでの、 ショートコードを用いてテンプレートからショートコードを用いて任意のコードを表示させる方法の備忘録です。

あなたが訪問してから

1 秒経過 🎉
824日 3時間 30分 18秒

Stinger6, Stinger7, WordPress, カスタマイズ, 備忘録」の人気記事

入学入社まであと…入学入社祝いはどんなPresent(プレゼント)でどのように過ごされますか?

ホワイトデープレゼントは以下などの豊富なキャンペーン商品から選ぶと良いと思います。

おすすめ!!

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

おすすめ2

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

ブログサービスが始まってから:

9486日 3時間 30分 18秒

カウントダウンタイマー

おすすめの記事一部広告

お小遣い稼ぎにアンケート。

Multiplex 広告

Total798


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

目次に戻る

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

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

目次に戻る

目次に戻る


コメントを閉じる
  1. […] WordPressプラグインなしでコンタクトフォームを作成方法 – WordPressデビュー津々浦々 […]

【Wordpress】メールフォームをプラグインなしで実装してみた | ヨリアログ へ返信する コメントをキャンセル

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


This site uses Akismet to reduce spam. Learn how your comment data is processed.

S