teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

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

2017/03/07 13:18

投稿

退会済みユーザー
answer CHANGED
@@ -4,4 +4,43 @@
4
4
  (Contact Form 7のフックを検索していたら、偶然見つけました)
5
5
 
6
6
  **Contact Form 7のhook集 - Daily GLOCALISM**
7
- [http://daily.glocalism.jp/wordpress/contact-form-7-hooks/](http://daily.glocalism.jp/wordpress/contact-form-7-hooks/)
7
+ [http://daily.glocalism.jp/wordpress/contact-form-7-hooks/](http://daily.glocalism.jp/wordpress/contact-form-7-hooks/)
8
+
9
+
10
+ ###追記
11
+ ```PHP
12
+ // Contact Form 7で作成したフォームの送信ボタンを押下
13
+ // フォームの内容がメールで送信される時にその内容を投稿(post)として登録する
14
+ add_action('wpcf7_mail_sent', 'gloc_wpcf7_insert_post', 10, 1);
15
+
16
+ function gloc_wpcf7_insert_post(){
17
+
18
+ $submission = WPCF7_Submission::get_instance();
19
+ if ( $submission ) {
20
+ // フォームで送信されるデータを取得する
21
+ $formdata = $submission->get_posted_data();
22
+
23
+ // 必要に応じて、$formdataからデータを読み出す
24
+ $email = $formdata['your-email'];
25
+ $name = $formdata['your-name'];
26
+ $message = $formdata['your-message'];
27
+ $other = $formdata['some_meta'];
28
+
29
+ // 投稿の所有者となるユーザーIDを指定する
30
+ $author = 1;
31
+
32
+ // データベースへ投稿を追加する
33
+ $new_post = array(
34
+ 'post_type' => 'post',
35
+ 'post_title' => $email . ' ' . $name ,
36
+ 'post_status' => 'draft',
37
+ 'post_content' => $message,
38
+ 'post_author' => $author // 指定しない場合は、ログイン中のユーザーの所有となる
39
+ );
40
+ $post_id = wp_insert_post( $new_post );
41
+
42
+ // 関連情報などがあれば、投稿IDで結びつけてメタデータとして追加する
43
+ add_post_meta( $post_id, 'some_meta', $other);
44
+ }
45
+ }
46
+ ```