我编写了一个 woocommerce 插件,它创建了以下自定义结帐字段:
billing_street_name
billing_house_number
billing_house_number_suffix
shipping_street_name
shipping_house_number
shipping_house_number_suffix
我还将它添加到管理页面,但由于我无法连接到 get_formatted_billing_address 和 get_formatted_shipping_address(它们都用于显示 writepanel-order_data.php 和 shop_order.php 中的地址)我想将它们复制到默认的 billing_address_1 和 shipping_address_1像这样:
billing_address_1 = billing_street_name + billing_house_number + billing_house_number_suffix
我尝试使用以下(基本)代码来做到这一点:
add_action( 'woocommerce_process_checkout_field_billing_address_1', array( &$this, 'combine_street_number_suffix' ) );
public function combine_street_number_suffix () {
$key = $_POST['billing_street_name'] . ' ' . $_POST['billing_house_number'];
return $key;
}
但这不起作用 - 我认为 $_POST 变量根本没有通过?
这是在 class-wc-checkout.php 中创建钩子的方式:
// Hook to allow modification of value
$this->posted[ $key ] = apply_filters( 'woocommerce_process_checkout_field_' . $key, $this->posted[$key] );