在 WooCommerce 中结帐时预定义的运输邮政编码验证

我希望达到的目标


我试图在结帐时添加一个控件,确保在选择“运送到另一个地址”时提供正确的邮政编码。


我的代码的问题


我正在使用的代码没有任何反应。没有消息,什么都没有。无论如何都可以下订单。


我的问题


我的代码有什么问题或错误在哪里?


到目前为止我的代码


add_action( 'woocommerce_after_checkout_validation' , 'deny_outside_zone_message', 10, 2,);

function deny_outside_zone_message( $fields, $errors ) {


    // the accepted delivery zones

    $del_zones_array = array('30030', '30032', '30033');


    // check if the postal code (billing or shipping) if within the array

    if (! in_array('shipping_postcode', $del_zones_array ) ) {


    // if the postal is not within the array, deny checkout

    echo "The ZIP you provided is not available for oneline deliveries.";

    return;

    }

}


LEATH
浏览 113回答 1
1回答

哈士奇WWW

shipping_postcode未在您的代码中设置// Validatefunction action_woocommerce_after_checkout_validation( $data, $error ) {            // The accepted delivery zones    $del_zones_array = array( 30030, 30032, 30033 );    // If the postal is not within the array, deny checkout    if( ! in_array( $data['shipping_postcode'], $del_zones_array ) ) {        $error->add( 'validation', 'The ZIP you provided is not available for oneline deliveries.' );    }}add_action('woocommerce_after_checkout_validation', 'action_woocommerce_after_checkout_validation', 10, 2 );
打开App,查看更多内容
随时随地看视频慕课网APP