我正在爲Woocommerce構建一個自定義運輸方法,而我完全掛起的一件事是如何將自定義值傳遞給calculate_shipping()函數,或者在使用它時購物車頁面或結帳頁面。Woocommerce運費計算器的自定義字段
我需要通過用戶定義的變量極少數,這將影響報價 - 即「是住宅地址」,「是貿易展」,等等等等
calculate_shipping接收包含了$封裝陣列一個'目標'數組,但這隻包含標準的add1,add2,城市,州,郵編,國家信息。我在結算和發貨兩種情況下都向結帳頁面添加了自定義字段,但我仍然無法弄清楚如何使calculate_shipping函數可以訪問這些值。
我添加了一個自定義字段,像這樣:
add_filter('woocommerce_checkout_fields' , 'custom_override_checkout_fields');
// Our hooked in function - $fields is passed via the filter!
function custom_override_checkout_fields($fields) {
$fields['shipping']['is_residential'] = array(
'label' => __('Residential Address?', 'woocommerce'),
'type' => 'checkbox',
'required' => false,
'class' => array('form-row-wide'),
'clear' => true
);
return $fields;
}
而且我看到這個領域顯示在結賬形式的運輸部分。但是,我沒有看到我如何在任何地方訪問它。即使在結算頁面上執行print_r($_POST)
也不會將此字段顯示爲發佈數據的一部分,即使在我知道表單已更新並重新發布後也是如此。
但最重要的是,我需要將提交的字段的內容添加到Woocommerce傳遞給shipping方法的calculate_shipping()函數的$ package對象中。
我真的不知道該從哪裏開始。
如果您引用迄今爲止編寫的代碼的代碼片段,證明您遇到的問題,然後指出問題出現在代碼中的位置,而不僅僅是*描述*你寫的代碼。 – neminem
我在上面添加了一些代碼,但我不確定它會有多大用處。重要的是,我需要自定義結帳字段以某種方式訪問,到目前爲止,我甚至無法找到$ _POST中的值 – HeruRaHa