首页 > 解决方案 > Woocommerce 结帐验证送货地址包含特定单词

问题描述

我在结账时使用谷歌地图让客户在地图上选择他们的位置。一旦他们找到他们的位置,送货地址就会自动填充。当他们找到他们的位置时,我想确保地址包含一个特定的单词来验证地址字段。我想确保填写的地址包含城市名称“Jeddah”或“jeddah”,因为我无法在该城市以外运送。

我尝试了下面的代码并进行了一些搜索,但我找不到答案,我发现的大部分内容是号码验证、URL 和电子邮件。

有人可以指导我完成这个。谢谢

此外,当该字段不包含 Jeddah 或 jeddah 时,如何将其设为“X”标记?因为它总是绿色的。

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

function validate_checkout( $data, $errors ){ 
    if (  strpos($data[ 'shipping_address_1' ] ,'/[Jeddah]/' ) ){ 
        $errors->add( 'address', 'Sorry, we only provide shipping to Jeddah.' ); 
    }
}

标签: phpwordpresswoocommerce

解决方案


推荐阅读