概要
woocommerce_adjust_non_base_location_prices
フィルタは、WooCommerceにおいて価格が異なる場所(例:国や地域)での表示を調整するために使用されます。このフィルタを利用することで、特定の条件やロジックに基づいて非基本価格を変更できます。主に以下の機能を実装する際によく使われます。
- 地域ごとの税金設定の調整
- 特定のユーザーグループ向けの価格調整
- 国ごとの価格戦略変更
- クーポンやプロモーションに基づく価格の動的変更
- カスタマイズされた価格表示の実装
- エコノミーやプレミアム会員向けの特別料金設定
構文
add_filter( 'woocommerce_adjust_non_base_location_prices', 'your_function_name', 10, 2 );
パラメータ
float $price
– 調整対象の元の価格。string $location
– 現在の顧客の位置情報(国・地域など)。
戻り値
- 調整後の価格(float)。
プラグインWooCommerceのバージョン
- 5.0以上
ワードプレスのバージョン
- 5.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_adjust_non_base_location_prices', 'adjust_cart_prices', 10, 2);
function adjust_cart_prices($price, $location) {
if ($location == 'JP') {
return $price * 1.1; // 日本の顧客には10%上乗せ
}
return $price;
}
このコードは、日本の顧客に対して価格を10%引き上げます。
サンプルコード2: 特定ユーザーの価格調整
add_filter('woocommerce_adjust_non_base_location_prices', 'adjust_user_group_prices', 10, 2);
function adjust_user_group_prices($price, $location) {
if (is_user_logged_in() && current_user_can('premium_member')) {
return $price * 0.9; // プレミアムメンバーには10%割引
}
return $price;
}
このコードは、プレミアムメンバーのユーザーに対して価格を10%割引します。
サンプルコード3: プロモーション期間中の価格変更
add_filter('woocommerce_adjust_non_base_location_prices', 'adjust_promo_prices', 10, 2);
function adjust_promo_prices($price, $location) {
$promo_active = true; // プロモーションが有効であると仮定
if ($promo_active) {
return $price * 0.85; // 価格を15%割引
}
return $price;
}
このコードは、プロモーション期間中に全ての価格を15%割引します。
サンプルコード4: 特定の国に対する価格調整
add_filter('woocommerce_adjust_non_base_location_prices', 'country_based_prices', 10, 2);
function country_based_prices($price, $location) {
if ($location == 'US') {
return $price * 1.05; // アメリカの顧客には5%上乗せ
}
return $price;
}
このコードは、アメリカの顧客に対して価格を5%引き上げます。
サンプルコード5: 地域別の価格戦略変更
add_filter('woocommerce_adjust_non_base_location_prices', 'regional_price_strategy', 10, 2);
function regional_price_strategy($price, $location) {
switch($location) {
case 'EU':
return $price * 1.15; // EU地域には15%上乗せ
case 'AU':
return $price * 0.95; // オーストラリアには5%割引
default:
return $price;
}
}
このコードは、EU地域の顧客には15%の上乗せをし、オーストラリアの顧客には5%の割引を適用します。
引用元のページは提供されていませんが、WordPressのドキュメンテーションやWooCommerceの公式サイトに関連情報があります。