プラグインを使わずに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. ファイル名表示機能風エリアを追加「Enlighter – Customizable Syntax Highlighter」プラグイン

  2. WordPressプラグインなしでカスタム投稿をタイトル、本文、アイキャッチ、カテゴリーを有効にして設定

  3. WordPress カテゴリ選択で条件付き絞り込みが行える検索フォームを実装

サイドバー

よく使うカスタマイズ

最近の記事

アニメの名言集

俺は俺の責務を全うする!
ここにいる者は誰も死なせない!!

鬼滅の刃
by 煉獄杏寿郎

Profile

PAGE TOP
Amazon プライム対象