概要
woocommerce_checkout_coupon_message
は、WooCommerceのチェックアウトページでクーポンコードに関連するメッセージをカスタマイズするためのフィルターフックです。このフックを使用することで、クーポンが適用された際や適用されていない際に表示されるメッセージを変更することができます。以下のような機能実装によく使われます。
- メッセージの内容をカスタマイズ
- 特定の条件に基づいてメッセージを変更
- メッセージのフォーマットを調整
- 翻訳をサポートするためのテキストの変更
- 条件に応じてメッセージのプレフィックスやサフィックスを追加
- 他のメッセージと統合して一元的な表示を実現
構文
add_filter('woocommerce_checkout_coupon_message', 'your_function_name');
パラメータ
$message
(文字列): 元のクーポンメッセージ
戻り値
- 変更されたクーポンメッセージ (文字列)
対応するWooCommerceバージョン
- WooCommerce 2.0以降
対応するWordPressバージョン
- 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('woocommerce_checkout_coupon_message', 'custom_coupon_message');
function custom_coupon_message($message) {
return '以下のクーポンコードを利用してください: ' . $message;
}
このコードは、クーポンメッセージの前に特定のテキストを追加します。ユーザーに対する指示が明確になります。
サンプル2: クーポンが適用されていない場合にメッセージを変更する
add_filter('woocommerce_checkout_coupon_message', 'no_coupon_message');
function no_coupon_message($message) {
if (empty($message)) {
return 'クーポンをお持ちですか?ここに入力してください。';
}
return $message;
}
クーポンが指定されていない場合にメッセージを変更して、ユーザーにクーポンを入力するよう促します。
サンプル3: 特定の条件でメッセージを変更する
add_filter('woocommerce_checkout_coupon_message', 'conditional_coupon_message');
function conditional_coupon_message($message) {
if (is_user_logged_in()) {
return 'ログイン中のお客様は、特別クーポンが利用可能です!';
}
return $message;
}
ユーザーがログインしている場合に特別なメッセージを表示するコードです。
サンプル4: メッセージのフォーマットを調整する
add_filter('woocommerce_checkout_coupon_message', 'format_coupon_message');
function format_coupon_message($message) {
return '<strong>' . esc_html($message) . '</strong>';
}
クーポンメッセージを強調表示するために、メッセージをタグで囲むコードになります。
サンプル5: 翻訳をサポートする
add_filter('woocommerce_checkout_coupon_message', 'translate_coupon_message');
function translate_coupon_message($message) {
return __('使用するクーポンコードを入力してください。', 'text-domain');
}
このコードは、クーポンメッセージを翻訳可能な文字列として提供します。適切なテキストドメインを設定することで、翻訳が可能になります。