質問編集履歴
1
タイトルを変えた
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
WordPress × kintone のフォームにおいて、「確認」ボタンを押すとデータが送信されてしまう
|
1
|
+
WordPress × kintone のフォームにおいて、「確認」ボタンを押すとデータが送信されてしまう原因を知りたい
|
test
CHANGED
@@ -35,3 +35,55 @@
|
|
35
35
|
Contact Form 7のバージョン5.1.9と、Contact Form 7バージョン5.2の差分を見比べてみたのですが、全くわかりません。。。
|
36
36
|
|
37
37
|
もし「バージョン5.2のここが原因なんじゃないかな?」とわかる方がいたら、教えていただきたいです!
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
##追記(原因の箇所が分かった)
|
42
|
+
|
43
|
+
`plugins/contact-form7/includes/submission.php`の一部のコードをバージョン5.1.9のものにすると、確認ボタンでkintoneにデータが送信される現象が発生しなくなりました!
|
44
|
+
|
45
|
+
なので、Contact Form 7バージョン5.2を有効化した上で下記のようにコードを編集すると、一応問題は解決されました。。
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
![img](44a8114bc7d5e45921e3c293a32658bd.png)
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
```php
|
54
|
+
|
55
|
+
private function setup_posted_data() {
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
// contact form 7 バージョン5.2
|
60
|
+
|
61
|
+
//こっちはコメントアウトする
|
62
|
+
|
63
|
+
$posted_data = array_filter( (array) $_POST, function( $key ) {
|
64
|
+
|
65
|
+
return '_' !== substr( $key, 0, 1 );
|
66
|
+
|
67
|
+
}, ARRAY_FILTER_USE_KEY );
|
68
|
+
|
69
|
+
$posted_data = wp_unslash( $posted_data );
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
// contact form 7 バージョン5.1.9
|
74
|
+
|
75
|
+
// こっちを使うとなぜか正常に動く
|
76
|
+
|
77
|
+
$posted_data = (array) $_POST;
|
78
|
+
|
79
|
+
$posted_data = array_diff_key( $posted_data, array( '_wpnonce' => '' ) );
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
$posted_data = $this->sanitize_posted_data( $posted_data );
|
84
|
+
|
85
|
+
|
86
|
+
|
87
|
+
$tags = $this->contact_form->scan_form_tags();
|
88
|
+
|
89
|
+
```
|