質問編集履歴
3
自分で試したこと、コードを追記しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -15,10 +15,6 @@
|
|
15
15
|
- バリデーション機能(メールアドレスがなければエラー、お問い合わせ内容最低30文字以下ならエラー等)
|
16
16
|
- 入力画面、入力確認画面、送信画面の3つのページ。
|
17
17
|
- 送信後、「◯◯様、お問い合わせありがとうございました。」のようなメッセージ。
|
18
|
-
#試したこと
|
19
|
-
[参考にしたブログ](http://izu.wpblog.jp/post-866/)
|
20
|
-
上記のブログにのっていたコードをコピペして、導入してみました。
|
21
|
-
送信はできているみたいなのですが、送信先のアドレス(私宛に届くようにしたい)をどこに設定すればよいのかわからず、挫折しました。
|
22
18
|
#教えていただきたいこと
|
23
19
|
- **送信先のアドレス(私宛に届くようにしたい)はどこで設定すればよいのか。WordPressの管理画面上の設定からですか?**
|
24
20
|
- **自作する際に必要なファイル、コードなどの工程をリスト化して頂きたいです。HTMLでフォーム作成、CSSで装飾が必要なのはわかるのですが、PHPの記述はどこに書くのか、JSが必要か否かがわからないです。**
|
@@ -29,4 +25,106 @@
|
|
29
25
|
- 私自身のスキルアップの為。
|
30
26
|
- プラグインを極力入れないで、ページの表示速度を上げたい。
|
31
27
|
- contact form 7を導入したところ、slick.jsを用いて作成したスライドショーが動かなくなった。
|
32
|
-
以上の理由からプラグインは極力使用したくありません。
|
28
|
+
以上の理由からプラグインは極力使用したくありません。
|
29
|
+
#試したこと
|
30
|
+
[コチラを参考にしました](https://qiita.com/dashimaki/items/24082675c6e27269bbad)
|
31
|
+
上記のサイトを参考に、
|
32
|
+
以下、3つファイルを作成しました。
|
33
|
+
|
34
|
+
**contact.php**
|
35
|
+
お問い合わせ入力画面です。
|
36
|
+
入力後、確認画面へ遷移します。
|
37
|
+
```php
|
38
|
+
<?php
|
39
|
+
session_start();
|
40
|
+
/* Template Name: お問い合わせ */
|
41
|
+
?>
|
42
|
+
<?php get_header(); ?>
|
43
|
+
<main id="page_wrapper">
|
44
|
+
<form action="<?php echo get_permalink( get_page_by_path( 'confirm' )->ID ); ?>" method="post">
|
45
|
+
<input type="text" name="your_name" required>
|
46
|
+
<input type="email" name="your_mail" required>
|
47
|
+
<input type="text" name="your_subject">
|
48
|
+
<textarea name="your_message" cols="100" lows="15" required></textarea>
|
49
|
+
|
50
|
+
<input type="submit" name="your_submit" value="確認画面へ">
|
51
|
+
</form>
|
52
|
+
</main>
|
53
|
+
<?php get_footer(); ?>
|
54
|
+
|
55
|
+
```
|
56
|
+
**confirm.php**
|
57
|
+
入力内容確認画面です。
|
58
|
+
入力したデータを出力することができました。
|
59
|
+
しかし、送信ボタンを押すとcoplete.phpへ遷移するのですが、
|
60
|
+
> Parse error: syntax error, unexpected end of file in /app/public/wp-content/themes/Lemon/complete.php on line 16
|
61
|
+
上記のエラーがでます。
|
62
|
+
header, footer がないのがエラー原因かと思いましたが、違いました。
|
63
|
+
```php
|
64
|
+
<?php
|
65
|
+
session_start();
|
66
|
+
/* Template Name: お問い合わせ内容確認 */
|
67
|
+
|
68
|
+
if(isset($_POST['your_submit'])) {
|
69
|
+
$_SESSION['your_name'] = $_POST['your_name'];
|
70
|
+
$_SESSION['your_mail'] = $_POST['your_mail'];
|
71
|
+
if($_POST['your_subject'] != ""){
|
72
|
+
$_SESSION['your_subject'] = $_POST['your_subject'];
|
73
|
+
}else{
|
74
|
+
$_SESSION['your_subject'] = "件名なし";
|
75
|
+
}
|
76
|
+
$_SESSION['your_message'] = $_POST['your_message'];
|
77
|
+
$_SESSION['your_submit'] = $_POST['your_submit'];
|
78
|
+
}
|
79
|
+
?>
|
80
|
+
<?php get_header(); ?>
|
81
|
+
<main id="page_wrapper">
|
82
|
+
<table rules="all" border="border">
|
83
|
+
<tr>
|
84
|
+
<th>お名前</th><td><p><?php echo htmlspecialchars($_SESSION['your_name']); ?></p></td>
|
85
|
+
</tr>
|
86
|
+
<tr>
|
87
|
+
<th>メールアドレス</th><td><p><?php echo htmlspecialchars($_SESSION['your_mail']); ?></p></td>
|
88
|
+
</tr>
|
89
|
+
<tr>
|
90
|
+
<th>件名</th><td><p><?php echo htmlspecialchars($_SESSION['your_subject']); ?></p></td>
|
91
|
+
</tr>
|
92
|
+
<tr>
|
93
|
+
<th>お問い合わせ内容</th><td><p><?php
|
94
|
+
$message = htmlspecialchars($_SESSION['your_message']);
|
95
|
+
$message = str_replace(" ", " ", $message);
|
96
|
+
$message = str_replace(" ", " ", $message);
|
97
|
+
echo nl2br($message);
|
98
|
+
?></p></td>
|
99
|
+
</tr>
|
100
|
+
</table>
|
101
|
+
|
102
|
+
<center><span>
|
103
|
+
<button class="submit" type="button" onclick="location.href='<?php echo get_permalink( get_page_by_path( 'contact' )->ID ); ?>'">修正</button>
|
104
|
+
<button class="submit" type="button" onclick="location.href='<?php echo get_permalink( get_page_by_path( 'complete' )->ID ); ?>'">送信</button>
|
105
|
+
</span></center>
|
106
|
+
</main>
|
107
|
+
<?php get_footer(); ?>
|
108
|
+
|
109
|
+
```
|
110
|
+
**complete.php**
|
111
|
+
ここでエラーがでます。
|
112
|
+
|
113
|
+
```php
|
114
|
+
|
115
|
+
<?php
|
116
|
+
session_start();
|
117
|
+
/* Template Name: 送信画面 */
|
118
|
+
|
119
|
+
if(isset($_SESSION['your_submit'])) {
|
120
|
+
$to = ''; //【メールアドレス】
|
121
|
+
|
122
|
+
//ここでは 名前, 件名
|
123
|
+
$subject = $_SESSION['your_name'].', '.$_SESSION['your_subject']; //【タイトル】
|
124
|
+
$message = $_SESSION['your_message']; //【本文】
|
125
|
+
|
126
|
+
wp_mail($to, $subject, $message);
|
127
|
+
session_destroy();
|
128
|
+
?>
|
129
|
+
|
130
|
+
```
|
2
title
CHANGED
File without changes
|
body
CHANGED
@@ -24,4 +24,9 @@
|
|
24
24
|
- **自作する際に必要なファイル、コードなどの工程をリスト化して頂きたいです。HTMLでフォーム作成、CSSで装飾が必要なのはわかるのですが、PHPの記述はどこに書くのか、JSが必要か否かがわからないです。**
|
25
25
|
- **必要なファイルは、contact.php(入力画面用ファイル)、confirm.php(入力画面確認用ファイル)、sendmail.php(送信後用のファイル)の3つですか?**
|
26
26
|
- **参考にできるサイトがあれば教えて下さい。**
|
27
|
-
- **フォームにあると便利な機能があれば教えて下さい。**
|
27
|
+
- **フォームにあると便利な機能があれば教えて下さい。**
|
28
|
+
#プラグインを使いたくない理由
|
29
|
+
- 私自身のスキルアップの為。
|
30
|
+
- プラグインを極力入れないで、ページの表示速度を上げたい。
|
31
|
+
- contact form 7を導入したところ、slick.jsを用いて作成したスライドショーが動かなくなった。
|
32
|
+
以上の理由からプラグインは極力使用したくありません。
|
1
前提に追記。
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
#前提
|
2
2
|
初めて、WordPressオリジナルテーマを作成しています。
|
3
|
+
ローカル環境で作成しています。(ソフト:Local by Flywheel を使用)
|
3
4
|
コンタクトフォームを**プラグインを使わず**導入したいです。
|
4
5
|
#コンタクトフォームで欲しい情報
|
5
6
|
- 氏名
|