首页 > 解决方案 > 动态更改存储位置

问题描述

为了在结帐期间按位置获得准确的税值,我想将我的商店位置动态更改为客户账单地址。有钩子吗?提前致谢

标签: woocommercehook-woocommerce

解决方案


您可以使用商店位置的过滤器来修改输出:

  1. 基地址第一行:woocommerce_countries_base_address
  2. 基地址第二行:woocommerce_countries_base_address_2
  3. 基准国:woocommerce_countries_base_country
  4. 基础状态:woocommerce_countries_base_state
  5. 基地城市:woocommerce_countries_base_city
  6. 基本邮政编码:woocommerce_countries_base_postcode

用法:

function custom_base_address( $base_address ){ 
   //your custom code to change base_address first line

    return $base_address
} 

add_filter('woocommerce_countries_base_address', 'custom_base_address', 10, 1)

function custom_base_city( $base_address ){ 
   //your custom code to change base state

    return $base_address
} 

add_filter('woocommerce_countries_base_state', 'custom_base_state', 10, 1)

对于客户帐单地址,您可以从用户元数据中获取。例如:

$address_1 = get_user_meta( $current_user->ID, 'billing_address_1', true ); 
$address_2 = get_user_meta( $current_user->ID, 'billing_address_2', true );
$city = get_user_meta( $current_user->ID, 'billing_city', true );
$postcode = get_user_meta( $current_user->ID, 'billing_postcode', true );

您可以在 custom_base_address 函数内的 IF 条件中使用这些变量,并获得所需的自定义基地址


推荐阅读