2026年6月3日
2026年6月3日
WooCommerceのロール別価格(Role Based Pricing)が適用されないときの確認手順
WooCommerceで卸売会員や法人会員などユーザーの権限グループ(ロール)ごとに価格を変えているのに、通常価格のまま表示される場合、原因はおおむね「ユーザーのロール」「価格の登録場所」「キャッシュ」「他の割引機能との優先順位」の4つに分かれます。この記事では、テストの仕方から順に確認ポイントを整理し、どこで価格の適用が止まっているかを特定する手順を説明します。
ロールベース価格は WooCommerce 本体の機能ではなく、Wholesale Suite の Wholesale Prices などのプラグインで実現します。プラグインごとに設定画面や仕様が異なるため、以下は(2026年10月現在)多くのロール別価格プラグインに共通する考え方を中心に説明します。
正しい条件でテストする
最初に確認したいのは、テストの方法そのものです。管理者アカウントでログインしたまま商品ページを見て「価格が変わらない」と判断しているケースがよくあります。管理者ロールは価格設定の対象になっていないことが多いため、対象ロールのユーザーで見なければ確認になりません。
対象ロールのテスト用ユーザーを1人作り、そのユーザーでログインして確認します。User Switching プラグインを使うと、管理画面のユーザー一覧からそのユーザーに切り替えて表示を確認し、すぐ管理者に戻れるので便利です。
また、未ログインの状態ではロールが無いため、ロール別価格は表示されません。「ログイン前に会員価格を見せたい」という要望は、ロール別価格とは別の仕組みが必要になります。
ユーザーのロールを確認する
次に、そのユーザーが本当に対象ロールを持っているかを確認します。「ユーザー」→「ユーザー一覧」で権限グループの列を見るか、ユーザーの編集画面で「権限グループ」を確認してください。
よくある見落としは次のとおりです。
- 会員登録時に既定のロール(WooCommerceでは通常「顧客」)が付き、卸売ロールへの変更を忘れている
- 似た名前のロールが複数あり、価格を設定したロールとユーザーに付けたロールが別物になっている
- 会員管理プラグインなどで複数のロールを付けていて、価格プラグインが期待と違うロールを参照している
WP-CLIが使える環境なら、ユーザーが持っているロールのスラッグを直接確認できます。ユーザーIDは実際の値に置き換えてください。
wp user get 12 --field=roles
表示名ではなくスラッグで確認できるため、似た名前のロールの取り違えを見つけやすくなります。
価格を登録した場所を確認する
ロールは正しいのに価格が変わらない場合は、価格の登録内容を確認します。
バリエーションのある商品では、親商品ではなくバリエーションごとにロール別価格を入力する仕様のプラグインが多くあります。親商品の画面に入力欄があっても、バリエーション側が空のままだと通常価格が使われます。
カテゴリ単位や全体の割引率と、商品単位の価格を併用している場合は、どちらが優先されるかがプラグインごとに決まっています。意図しない側が適用されていないか、設定画面の説明を確認してください。
最低購入数量などの条件を設定できるプラグインでは、条件を満たすまでカートでは通常価格になることがあります。商品ページではロール価格が表示されるのにカートで戻る場合は、この条件を疑います。
税の扱いも確認しておきたい点です。「WooCommerce」→「設定」→「税」で、価格を税込みで入力するか税抜きで入力するかの設定と、ロール別価格の入力方法が食い違っていると、価格が想定とずれて見えます。
キャッシュを確認する
設定が正しいのに一部のページだけ古い価格が出る場合は、キャッシュを疑います。
ページキャッシュは通常ログインユーザーには適用されませんが、キャッシュプラグインの設定やサーバー側のキャッシュ、CDNの設定によっては、ログイン中でもキャッシュされたページが返ることがあります。キャッシュをすべて削除し、商品ページとカートページがキャッシュの対象外になっているかを確認してください。
もう1つ見落としやすいのが、WooCommerceが内部で保存している価格のキャッシュです。WooCommerceはバリエーション商品の価格範囲などを一時データ(トランジェント)として保存しています。プラグインの更新や設定変更の直後に表示がずれる場合は、「WooCommerce」→「ステータス」→「ツール」にあるトランジェントの削除を実行すると改善することがあります。
他の割引機能との競合を確認する
セール価格、クーポン、まとめ買い割引などの動的価格プラグインを併用していると、どの価格を最終的に使うかの順番が衝突することがあります。複数のプラグインが同じ価格計算に手を加えていると、後から処理したほうの結果が残ります。
切り分けには、Health Check & Troubleshooting プラグインのトラブルシューティングモードが使えます。訪問者の表示は変えずに、自分のセッションだけで WooCommerce とロール価格プラグイン以外を無効にして確認できます。ステージング環境がある場合は、本番の設定には触れずにそちらで試すのが安全です。
カートとチェックアウトにブロック版を使っている場合は、ロール価格プラグインがブロック版のカートに対応しているかも確認します。古い仕組みにだけ対応したプラグインでは、商品ページは正しいのにカートだけ価格が戻ることがあります。対応状況はプラグインの説明や更新履歴で確認できます。
作業前の注意
価格設定の一括変更や、プラグインの入れ替えをする前には、データベースを含むバックアップを取ってください。価格は商品データに直接保存されるため、一括編集の誤りは手作業で戻すのが大変です。また、価格の変更が既存の注文に影響しないこと、確認中に誤って注文が確定しないことにも注意してください。
まとめ
ロールベース価格が適用されないときは、次の順で確認すると原因を特定しやすくなります。
- 管理者ではなく、対象ロールのテストユーザーで確認する
- ユーザーに付いているロールが、価格を設定したロールと一致しているかを見る
- バリエーション、カテゴリ設定、購入条件、税の入力方法を確認する
- ページキャッシュとWooCommerceのトランジェントを削除する
- 他の割引プラグインやブロック版カートとの相性を切り分ける