プラグインContact Form 7のwpcf7_display_messageフィルタの使用方法・解説

概要

wpcf7_display_message フィルタは、WordPress用プラグイン「Contact Form 7」で送信結果のメッセージを表示する際に、そのメッセージの出力を加工するために使用されます。このフィルタを利用することで、ユーザーへのフィードバックメッセージをカスタマイズしたり、特定の条件に基づいてメッセージ内容を変更したりできます。

このフィルタは、以下のような機能を実装する際によく使われます。

  1. メッセージの内容を翻訳する
  2. メッセージに追加情報を付加する
  3. メッセージの HTML タグを変更する
  4. 特定の条件に基づいてメッセージの表現を変える
  5. エラーメッセージをカスタマイズする
  6. 成功メッセージのフォーマットを変える

構文

apply_filters( 'wpcf7_display_message', $message, $status, $submission );

パラメータ

  • $message (string): デフォルトのメッセージ内容。
  • $status (string): メッセージの状態(例:’mail_sent’ や ‘validation_error’)。
  • $submission (object): フォームのデータを含むオブジェクト。

戻り値

  • (string): フィルタリング後のメッセージ。

使用可能なバージョン

  • Contact Form 7: バージョン 4.0 以降
  • WordPress: バージョン 4.0 以降

この関数のアクションでの使用可能性

アクション 使用可能性
mu_plugin_loaded
registered_post_type
plugins_loaded
wp_roles_init
setup_theme
after_setup_theme
set_current_user
init
register_sidebar
wp_loaded
send_headers
parse_query
pre_get_posts
wp
template_redirect
get_header
wp_head

サンプルコード

サンプル1: メッセージの内容を翻訳する

add_filter( 'wpcf7_display_message', 'custom_display_message', 10, 3 );

function custom_display_message( $message, $status, $submission ) {
    if ( $status === 'mail_sent' ) {
        return 'メッセージが送信されました!';
    }
    return $message;
}

このサンプルコードは、メール送信が成功した場合に表示するメッセージを日本語に変更しています。引用元: https://contactform7.com/

サンプル2: メッセージに追加情報を付加する

add_filter( 'wpcf7_display_message', 'add_more_info_to_message', 10, 3 );

function add_more_info_to_message( $message, $status, $submission ) {
    if ( $status === 'mail_sent' ) {
        $message .= ' 鍵情報を確認してください。';
    }
    return $message;
}

このコードは、送信成功のメッセージに追加情報を付け加えています。引用元: https://contactform7.com/

サンプル3: メッセージのスタイルを変更する

add_filter( 'wpcf7_display_message', 'change_message_style', 10, 3 );

function change_message_style( $message, $status, $submission ) {
    if ( $status === 'validation_error' ) {
        return '<div class="error-message">' . $message . '</div>';
    }
    return $message;
}

このサンプルでは、バリデーションエラーのメッセージにカスタムクラスを追加してスタイルを変更しています。引用元: https://contactform7.com/

サンプル4: エラーメッセージをカスタマイズする

add_filter( 'wpcf7_display_message', 'custom_error_message', 10, 3 );

function custom_error_message( $message, $status, $submission ) {
    if ( $status === 'validation_error' ) {
        return '入力に誤りがあります。もう一度ご確認ください。';
    }
    return $message;
}

このコードは、バリデーションエラーのメッセージをカスタマイズしたものです。引用元: https://contactform7.com/

サンプル5: 成功メッセージのフォーマットを変える

add_filter( 'wpcf7_display_message', 'format_success_message', 10, 3 );

function format_success_message( $message, $status, $submission ) {
    if ( $status === 'mail_sent' ) {
        return '<p class="success">' . $message . '</p>';
    }
    return $message;
}

このサンプルでは、送信成功メッセージを特定のHTMLタグで囲んでフォーマットしています。引用元: https://contactform7.com/

この関数について質問する


上の計算式の答えを入力してください