回答編集履歴

1

コメントつきのソースコードを追記した

2017/03/07 13:18

投稿

退会済みユーザー
test CHANGED
@@ -11,3 +11,81 @@
11
11
  **Contact Form 7のhook集 - Daily GLOCALISM**
12
12
 
13
13
  [http://daily.glocalism.jp/wordpress/contact-form-7-hooks/](http://daily.glocalism.jp/wordpress/contact-form-7-hooks/)
14
+
15
+
16
+
17
+
18
+
19
+ ###追記
20
+
21
+ ```PHP
22
+
23
+ // Contact Form 7で作成したフォームの送信ボタンを押下
24
+
25
+ // フォームの内容がメールで送信される時にその内容を投稿(post)として登録する
26
+
27
+ add_action('wpcf7_mail_sent', 'gloc_wpcf7_insert_post', 10, 1);
28
+
29
+
30
+
31
+ function gloc_wpcf7_insert_post(){
32
+
33
+
34
+
35
+ $submission = WPCF7_Submission::get_instance();
36
+
37
+ if ( $submission ) {
38
+
39
+ // フォームで送信されるデータを取得する
40
+
41
+ $formdata = $submission->get_posted_data();
42
+
43
+
44
+
45
+ // 必要に応じて、$formdataからデータを読み出す
46
+
47
+ $email = $formdata['your-email'];
48
+
49
+ $name = $formdata['your-name'];
50
+
51
+ $message = $formdata['your-message'];
52
+
53
+ $other = $formdata['some_meta'];
54
+
55
+
56
+
57
+ // 投稿の所有者となるユーザーIDを指定する
58
+
59
+ $author = 1;
60
+
61
+
62
+
63
+ // データベースへ投稿を追加する
64
+
65
+ $new_post = array(
66
+
67
+ 'post_type' => 'post',
68
+
69
+ 'post_title' => $email . ' ' . $name ,
70
+
71
+ 'post_status' => 'draft',
72
+
73
+ 'post_content' => $message,
74
+
75
+ 'post_author' => $author // 指定しない場合は、ログイン中のユーザーの所有となる
76
+
77
+ );
78
+
79
+ $post_id = wp_insert_post( $new_post );
80
+
81
+
82
+
83
+ // 関連情報などがあれば、投稿IDで結びつけてメタデータとして追加する
84
+
85
+ add_post_meta( $post_id, 'some_meta', $other);
86
+
87
+ }
88
+
89
+ }
90
+
91
+ ```