プラグインを使わずにContact Form 7 から送信されたメールの履歴を保存する ( カスタム投稿 )

概要説明

お問い合わせの履歴をプラグインを使わずに保存できるようにするためのカスタマイズ。カスタム投稿を事前に用意する必要があります。お問い合わせの履歴としての使い方だけでなく、ユーザー投稿型の機能もこちらのカスタマイズで簡単に実装が行えます。

カスタム投稿記事としてメールを保存

functions.php
/*----------------------------------------------------
 Contact Form 7 から送信された情報をカスタム投稿に保存させる
----------------------------------------------------*/
if ( !function_exists( 'wpcf7_send_add_post' ) ){
    function wpcf7_send_add_post(){
        // 送信情報を取得
        $submission = WPCF7_Submission::get_instance();
        if($submission) {
            $formdata = $submission->get_posted_data();

            // 特定のフォームの場合のみとしたい場合はidを使用
            $formid = $submission->get_contact_form()->id();

            // 管理画面からフォームの編集画面を表示させ url のpost=55 の部分を指定
            if ( $formid == 55 ) ) {

                // 例) 本文とメールアドレスを記事本文に設定
                $post_content = $formdata['your-message'] . "\n" . $formdata['your-email'];

                // 投稿を作成
                $insert_post = array(
                    'post_type'    => 'mail_history',             // メール履歴用のカスタム投稿を事前に用意
                    'post_title'   => $formdata['your-subject'],  // 記事タイトル
                    'post_content' => $post_content,              // 本文
                    'post_status'  => 'draft'                     // 下書き保存
                );
                wp_insert_post($insert_post);
            }
        }
    }
    add_action('wpcf7_mail_sent', 'wpcf7_send_add_post');
}

/wp-admin/admin.php?page=wpcf7&post=55&action=edit

特定のフォームのみという制限を加える場合は管理画面のフォーム編集画面を表示させ、URL内に含まれるパラメーターを確認します

実装後フォームから送信を行い動作確認

プラグインを使わずにContact Form 7 から送信されたメールの履歴を保存する ( カスタム投稿 )

正常に動作していると上記のように管理画面のカスタム投稿一覧画面にフォームからの送信内容が表示されるようになります

こちらの機能を使って投稿機能を実装

メールの送信履歴保存で使うのも便利ですが、ユーザー投稿型のコンテンツサイトにも使えます。

Contact Form 7 を使ってユーザーからの投稿を記事として表示させるような機能を簡単に作ることができます。

WordPress Developer Resources

関連機能

  1. 編集画面にnoindex設定を追加 ( カスタム投稿に対応 )

  2. WordPress タグクラウドの最大表示件数を変更する

  3. WordPress お問い合わせ内容をメールだけではなくLINEにも通知できるようにするプラグイン WP LINE Notify

サイドバー

よく使うカスタマイズ

最近の記事

アニメの名言集

魔法は探し求めている時が
一番楽しいんだよ

葬送のフリーレン
by フリーレン

Profile

PAGE TOP
Amazon プライム対象