###状況
ContactForm7に添付したファイルを投稿に挿入したいで、プラグイン「ContactForm7」で作成したフォームに入力してもらった内容を、投稿内の各カスタムフィールドに挿入されるようにしています。
ですが、プラグイン「Contact Form 7 add confirm」を使用し[確認]→[投稿][修正]という手順を踏むようにすると、[確認]の段階で投稿に記事が作成されてしまいます。
[投稿]を押した段階で初めて投稿内に記事が作成されるようにするにはどうしたらよいでしょうか?
※「Contact Form 7 add confirm」を使用せず、通常の[投稿]のみだと問題ありません。
以下は、前出の記事 ContactForm7に添付したファイルを投稿に挿入したい のものと同じです。
//functions.php //rep-○○○、multifile-819は「ContactForm7」で使用しているタグ //メール送信後に内容を投稿として保存 function gloc_wpcf7_insert_post(){ $submission = WPCF7_Submission::get_instance(); if ( $submission ) { $formdata = $submission->get_posted_data(); $email = $formdata['rep-email']; $name = $formdata['rep-name']; $multifile = $formdata['multifile-819']; $new_post = array( 'post_type' => 'post', 'post_title' => $formdata['rep-name'], 'post_status' => 'draft', 'post_content' => $formdata['rep-text'] ); $post_id = wp_insert_post( $new_post ); //カスタムフィールドに挿入 if($post_id) { update_post_meta($post_id, 'post-name',$name); update_post_meta($post_id, 'post-email',$email); update_post_meta($post_id, 'post-media',$multifile); } } } add_action('wpcf7_mail_sent', 'gloc_wpcf7_insert_post', 10, 1);
回答1件
あなたの回答
tips
プレビュー