1 回答

TA貢獻2019條經驗 獲得超9個贊
顯示錯誤信息需要滿足的條件:(在代碼中作為注釋添加的解釋)
必須選擇當地取貨。
郵政編碼不得存在于預定郵政編碼數組中
function zip_code_validator_for_local_home_delivery( $data, $error ) {
/* Settings */
// Zones
$del_zones_array = array( 30030, 30032, 30033 );
// Shipping method
$shipping_method = 'local_pickup:4';
/* End settings */
// Get chosen shipping method ID
$chosen_shipping_method_id = WC()->session->get( 'chosen_shipping_methods' )[0];
// If local pickup is the chosen shipping method && ZIP code NOT in array
if ( $chosen_shipping_method_id == $shipping_method && !in_array( $data['shipping_postcode'], $del_zones_array ) ) {
$error->add( 'validation', 'We\'re sorry, but this address is outside of our online order delivery area.<br>Please contact us for assistance or choose the local pickup option.' );
}
}
add_action('woocommerce_after_checkout_validation', 'zip_code_validator_for_local_home_delivery', 10, 2 );
- 1 回答
- 0 關注
- 137 瀏覽
添加回答
舉報