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

概要

wpcf7_messages フィルタは、WordPress の Contact Form 7 プラグインで使用されるフィルタの一つで、フォーム送信後に表示されるメッセージ文字列を加工する際に役立ちます。このフィルタを使用することで、デフォルトのメッセージをカスタマイズし、ユーザーに対してわかりやすく、魅力的なフィードバックを提供することができます。

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

  1. 成功メッセージのカスタマイズ
  2. エラーメッセージの変更
  3. リダイレクト後のメッセージ追加
  4. 言語の切り替えによるメッセージ異動
  5. スタイルを含めたメッセージの装飾
  6. 条件に応じたメッセージの生成

構文

add_filter( 'wpcf7_messages', 'custom_wpcf7_messages' );

function custom_wpcf7_messages( $messages ) {
    // メッセージの加工処理
    return $messages;
}

パラメータ

  • $messages: 変更可能なメッセージの配列。

戻り値

  • 加工後のメッセージの配列。

使用可能なプラグインのバージョン

  • Contact Form 7: 4.0以上
  • WordPress: 4.0以上

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

アクション 使用 a/b
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_messages', 'custom_success_message' );

function custom_success_message( $messages ) {
    $messages['mail_sent_ok'] = 'ご送信ありがとうございました!';
    return $messages;
}

このサンプルコードは、フォーム送信後の成功メッセージをカスタマイズして「ご送信ありがとうございました!」というメッセージを表示します。

サンプル2: エラーメッセージを変更

add_filter( 'wpcf7_messages', 'custom_error_message' );

function custom_error_message( $messages ) {
    $messages['mail_sent_ng'] = '送信中にエラーが発生しました。再度お試しください。';
    return $messages;
}

このサンプルコードは、送信エラー時のメッセージを変更し、ユーザーに再試行を促す内容にしています。

サンプル3: カスタムメッセージの追加

add_filter( 'wpcf7_messages', 'add_custom_message' );

function add_custom_message( $messages ) {
    $messages['custom_message'] = 'こちらはカスタムメッセージです。';
    return $messages;
}

このサンプルコードは、独自のカスタムメッセージを追加し、他のメッセージと共に表示可能です。

サンプル4: 多国語対応メッセージ

add_filter( 'wpcf7_messages', 'multilingual_success_message' );

function multilingual_success_message( $messages ) {
    if ( get_locale() == 'ja' ) {
        $messages['mail_sent_ok'] = 'お問い合わせありがとうございます!';
    } else { 
        $messages['mail_sent_ok'] = 'Thank you for your inquiry!';
    }
    return $messages;
}

このサンプルコードは、言語に応じて成功メッセージを表示する方法を示しています。

サンプル5: メッセージのスタイルを設定

add_filter( 'wpcf7_messages', 'styled_success_message' );

function styled_success_message( $messages ) {
    $messages['mail_sent_ok'] = '<div class="custom-success">送信完了!</div>';
    return $messages;
}

このサンプルコードは、成功メッセージに独自のスタイルを適用し、より視覚的に目立たせることを目的としています。

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


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