概要
wpcf7_messages
フィルタは、WordPress の Contact Form 7 プラグインで使用されるフィルタの一つで、フォーム送信後に表示されるメッセージ文字列を加工する際に役立ちます。このフィルタを使用することで、デフォルトのメッセージをカスタマイズし、ユーザーに対してわかりやすく、魅力的なフィードバックを提供することができます。
このフィルタは、以下のような機能を実装する際によく使用されます:
- 成功メッセージのカスタマイズ
- エラーメッセージの変更
- リダイレクト後のメッセージ追加
- 言語の切り替えによるメッセージ異動
- スタイルを含めたメッセージの装飾
- 条件に応じたメッセージの生成
構文
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;
}
このサンプルコードは、成功メッセージに独自のスタイルを適用し、より視覚的に目立たせることを目的としています。