質問編集履歴

1

タイトルを変えた

2020/11/06 09:44

投稿

Gento
Gento

スコア77

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
+ ```