質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

1097閲覧

【WordPress】【プラグインなし】コンタクトフォームを作成したいのでアドバイスを頂きたいです。

uk_63

総合スコア29

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2018/11/08 06:49

編集2018/11/08 08:33

#前提
初めて、WordPressオリジナルテーマを作成しています。
ローカル環境で作成しています。(ソフト:Local by Flywheel を使用)
コンタクトフォームをプラグインを使わず導入したいです。
#コンタクトフォームで欲しい情報

  • 氏名
  • フリガナ
  • 団体名/学校名
  • メールアドレス
  • 電話番号
  • 件名
  • お問い合わせ内容

#コンタクトフォームで欲しい機能

  • セキュリティ対策(入力データを文字列に変換等)
  • バリデーション機能(メールアドレスがなければエラー、お問い合わせ内容最低30文字以下ならエラー等)
  • 入力画面、入力確認画面、送信画面の3つのページ。
  • 送信後、「◯◯様、お問い合わせありがとうございました。」のようなメッセージ。

#教えていただきたいこと

  • 送信先のアドレス(私宛に届くようにしたい)はどこで設定すればよいのか。WordPressの管理画面上の設定からですか?
  • 自作する際に必要なファイル、コードなどの工程をリスト化して頂きたいです。HTMLでフォーム作成、CSSで装飾が必要なのはわかるのですが、PHPの記述はどこに書くのか、JSが必要か否かがわからないです。
  • 必要なファイルは、contact.php(入力画面用ファイル)、confirm.php(入力画面確認用ファイル)、sendmail.php(送信後用のファイル)の3つですか?
  • 参考にできるサイトがあれば教えて下さい。
  • フォームにあると便利な機能があれば教えて下さい。

#プラグインを使いたくない理由

  • 私自身のスキルアップの為。
  • プラグインを極力入れないで、ページの表示速度を上げたい。
  • contact form 7を導入したところ、slick.jsを用いて作成したスライドショーが動かなくなった。

以上の理由からプラグインは極力使用したくありません。
#試したこと
コチラを参考にしました
上記のサイトを参考に、
以下、3つファイルを作成しました。

contact.php
お問い合わせ入力画面です。
入力後、確認画面へ遷移します。

php

1<?php 2session_start(); 3/* Template Name: お問い合わせ */ 4?> 5<?php get_header(); ?> 6<main id="page_wrapper"> 7 <form action="<?php echo get_permalink( get_page_by_path( 'confirm' )->ID ); ?>" method="post"> 8 <input type="text" name="your_name" required> 9 <input type="email" name="your_mail" required> 10 <input type="text" name="your_subject"> 11 <textarea name="your_message" cols="100" lows="15" required></textarea> 12 13 <input type="submit" name="your_submit" value="確認画面へ"> 14 </form> 15</main> 16<?php get_footer(); ?> 17

confirm.php
入力内容確認画面です。
入力したデータを出力することができました。
しかし、送信ボタンを押すとcoplete.phpへ遷移するのですが、

Parse error: syntax error, unexpected end of file in /app/public/wp-content/themes/Lemon/complete.php on line 16

上記のエラーがでます。
header, footer がないのがエラー原因かと思いましたが、違いました。

php

1<?php 2session_start(); 3/* Template Name: お問い合わせ内容確認 */ 4 5if(isset($_POST['your_submit'])) { 6 $_SESSION['your_name'] = $_POST['your_name']; 7 $_SESSION['your_mail'] = $_POST['your_mail']; 8 if($_POST['your_subject'] != ""){ 9 $_SESSION['your_subject'] = $_POST['your_subject']; 10 }else{ 11 $_SESSION['your_subject'] = "件名なし"; 12 } 13 $_SESSION['your_message'] = $_POST['your_message']; 14 $_SESSION['your_submit'] = $_POST['your_submit']; 15} 16?> 17<?php get_header(); ?> 18<main id="page_wrapper"> 19<table rules="all" border="border"> 20 <tr> 21 <th>お名前</th><td><p><?php echo htmlspecialchars($_SESSION['your_name']); ?></p></td> 22 </tr> 23 <tr> 24 <th>メールアドレス</th><td><p><?php echo htmlspecialchars($_SESSION['your_mail']); ?></p></td> 25 </tr> 26 <tr> 27 <th>件名</th><td><p><?php echo htmlspecialchars($_SESSION['your_subject']); ?></p></td> 28 </tr> 29 <tr> 30 <th>お問い合わせ内容</th><td><p><?php 31 $message = htmlspecialchars($_SESSION['your_message']); 32 $message = str_replace(" ", "&ensp;", $message); 33 $message = str_replace(" ", "&emsp;", $message); 34 echo nl2br($message); 35 ?></p></td> 36 </tr> 37</table> 38 39<center><span> 40 <button class="submit" type="button" onclick="location.href='<?php echo get_permalink( get_page_by_path( 'contact' )->ID ); ?>'">修正</button> 41 <button class="submit" type="button" onclick="location.href='<?php echo get_permalink( get_page_by_path( 'complete' )->ID ); ?>'">送信</button> 42</span></center> 43</main> 44<?php get_footer(); ?> 45

complete.php
ここでエラーがでます。

php

1 2<?php 3session_start(); 4/* Template Name: 送信画面 */ 5 6if(isset($_SESSION['your_submit'])) { 7 $to = ''; //【メールアドレス】 8 9 //ここでは 名前, 件名 10 $subject = $_SESSION['your_name'].', '.$_SESSION['your_subject']; //【タイトル】 11 $message = $_SESSION['your_message']; //【本文】 12 13 wp_mail($to, $subject, $message); 14 session_destroy(); 15?> 16

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2018/11/08 07:28

プラグインを使わない具体的な理由があるのでしょうか。
guest

回答1

0

ベストアンサー

送信先のアドレス(私宛に届くようにしたい)はどこで設定すればよいのか。WordPressの管理画面上の設定からですか?

参考にしたサイトのコードをよく見てください。

自作する際に必要なファイル、コードなどの工程をリスト化して頂きたいです。HTMLでフォーム作成、CSSで装飾が必要なのはわかるのですが、PHPの記述はどこに書くのか、JSが必要か否かがわからないです。

丸投げは止めましょう。

必要なファイルは、contact.php(入力画面用ファイル)、confirm.php(入力画面確認用ファイル)、sendmail.php(送信後用のファイル)の3つですか?

参考にしたサイトがそうであればそうなのでしょう。

参考にできるサイトがあれば教えて下さい。

https://qiita.com/dashimaki/items/24082675c6e27269bbad

フォームにあると便利な機能があれば教えて下さい。

スパム対策

私自身のスキルアップの為。

丸投げ質問する前に自信でよく調べてください。そして頑張ってください。

プラグインを極力入れないで、ページの表示速度を上げたい。

頑張ってください。

contact form 7を導入したところ、slick.jsを用いて作成したスライドショーが動かなくなった。

プラグインのJSファイルを読み込むページをフォームを表示するページのみに限定すれば回避できます。

エラー文はよく読めば何が原因なのか書いてあります。
理解できなければネットで検索してください。

投稿2018/11/08 08:59

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問