概要
wpcf7_subscribers_only_notice
フィルタは、Contact Form 7プラグインにおいて、ログインユーザーのみに許可されたフォームが利用された時の警告文を上書きするために使用されます。このフィルタを使うことで、特定のメッセージや警告をカスタマイズすることができ、ユーザーにより適切な情報を提供することが可能です。
よく用いられる機能
- エラーメッセージのカスタマイズ
- サブスクリプション制限の通知
- フォームの非公開のアナウンス
- メッセージの多言語対応
- ユーザーに提供する情報の明確化
- 特定ユーザー向けの注意事項の強調
構文
add_filter('wpcf7_subscribers_only_notice', 'your_custom_notice');
パラメータ
$notice
: フィルタ対象の通知メッセージ。
戻り値
- フィルタ後のカスタマイズされた通知メッセージ。
対応プラグインのバージョン
- Contact Form 7: バージョン5.0以降
対応ワードプレスのバージョン
- WordPress: バージョン4.0以降
サンプルコード
サンプル1: デフォルトメッセージのカスタマイズ
add_filter('wpcf7_subscribers_only_notice', function($notice) {
return 'このフォームは会員専用です。ログインしてください。';
});
このコードは、デフォルトの警告メッセージを「このフォームは会員専用です。ログインしてください。」に変更します。
サンプル2: 特定のユーザー役割用のメッセージ変更
add_filter('wpcf7_subscribers_only_notice', function($notice) {
if (current_user_can('editor')) {
return 'このフォームは編集者ユーザーのみが利用可能です。';
}
return $notice;
});
このコードは、編集者ロールのユーザーがフォームを利用しようとした際のメッセージを変更します。
サンプル3: 多言語対応のメッセージ
add_filter('wpcf7_subscribers_only_notice', function($notice) {
return __('このフォームはサブスクライバー専用です。', 'text-domain');
});
このコードは、WordPressの国際化機能を利用して、メッセージを多言語対応にします。
サンプル4: ユーザーIDを取得してメッセージ変更
add_filter('wpcf7_subscribers_only_notice', function($notice) {
$user_id = get_current_user_id();
return 'ユーザーID: '.$user_id.' 様のためのフォームです。';
});
このコードは、現在のユーザーIDを含んだカスタムメッセージを表示します。
サンプル5: ログインフォームへのリンク追加
add_filter('wpcf7_subscribers_only_notice', function($notice) {
return 'ログインしてこのフォームを使用します。<a href="'.wp_login_url().'">ログインはこちら</a>';
});
このコードは、警告メッセージにログインリンクを追加して、ユーザーが簡単にログインできるようにします。
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
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 |