👍

WooCommerceで通知メッセージをカスタマイズする方法

2022/09/17に公開

WooCommerceでは、様々な通知メッセージを画面上部に表示するようになっています。
例えば、新たに会員登録をするためにメールアドレスを入力して、送信ボタンを押すと以下のような通知が表示されます。

もしこの文面を変更したかった場合の対応を簡単にまとめておきます。

通知タイプについて

この通知文には内容に応じて3つのタイプがあります。
wp-contents/plugins/woocommerce/includes/wc-notice-functions.php
上記ファイル内に以下の記述があります。

$notice_types = apply_filters( 'woocommerce_notice_types', array( 'error', 'success', 'notice' ) );

1:error
2:success
3:notice

この3種類です。
冒頭の会員登録時のメッセージはnoticeに該当しますね。
見分け方は簡単で、メッセージ枠の上のボーダーが
error → 赤
success → 緑
notice → 青

となっていて、先頭に表示されるアイコンも見分けるのに役立ちます。

カスタマイズする方法

functions.phpでフィルターフックを活用してカスタマイズします。
冒頭の画像にあった確認メールの文面をカスタマイズしたい場合の例だと以下を追記します。

add_filter( 'woocommerce_add_notice', function( $message ) {
    if( mb_strpos($message, 'アカウントをチェックして確認します' ) !== false ) {
        $message = 'ご登録希望のメールアドレスに確認用メールを送信しました。';
    }
    return $message;
});

ポイントは2つです。
1:フィルター名が通知タイプによって変わる
error → woocommerce_add_error
success → woocommerce_add_success
notice → woocommerce_add_notice

2:strpos等の関数で$messageの内容を検索・判定する

以上、参考になれば幸いです。

Discussion