Wordpress 下订单前请检查邮政编码

Wordpress 下订单前请检查邮政编码,wordpress,woocommerce,Wordpress,Woocommerce,由于本地配送是唯一的选择(由于产品配送限制),我不希望客户进入结账页面,必须填写他们的所有详细信息,然后才发现我们没有配送到他们的邮政编码 因此,我需要在结帐页面上使用与本地递送邮政编码检查相同的功能,但要在结帐过程的早期阶段添加,例如在购物车页面上?或者其他任何一页。在添加到购物车选项之前,最佳位置可以在产品页面中 i、 e。 输入您的邮政编码,查看我们是否将邮件送达您所在的地区: 结果-显示“是”或“否”消息,并提供进一步说明听起来您最好的选择是将“邮政编码”字段放在账单详细信息表单的顶部

由于本地配送是唯一的选择(由于产品配送限制),我不希望客户进入结账页面,必须填写他们的所有详细信息,然后才发现我们没有配送到他们的邮政编码

因此,我需要在结帐页面上使用与本地递送邮政编码检查相同的功能,但要在结帐过程的早期阶段添加,例如在购物车页面上?或者其他任何一页。在添加到购物车选项之前,最佳位置可以在产品页面中

i、 e。 输入您的邮政编码,查看我们是否将邮件送达您所在的地区:
结果-显示“是”或“否”消息,并提供进一步说明

听起来您最好的选择是将“邮政编码”字段放在账单详细信息表单的顶部

这样,一旦邮政编码填写完毕,运输方式将相应调整。一旦用户进入表单,如果他们的邮政编码不允许,本地配送方式将不再可用

此解决方案仅在您将实际送达的所有邮政编码放置在WooCommerce仪表板的本地送达设置的邮政编码部分时有效:

这将确保本地传递选项仅显示在列表中的邮政编码上。如果输入的邮政编码不在列表中,则本地配送选项将在表单下方的配送方式选项中消失

只需将其添加到
functions.php
文件:

//Rearrange the Fields in the Checkout Billing Details Form
add_filter("woocommerce_checkout_fields", "new_order_fields");

function new_order_fields($fields) {

$order_list = array(
    "billing_postcode",
    "billing_first_name", 
    "billing_last_name",
    "billing_email", 
    "billing_phone",        
    "billing_company", 
    "billing_address_1", 
    "billing_address_2",         
    "billing_country"        

);
foreach($order_list as $field)
{
    $ordered_fields[$field] = $fields["billing"][$field];
}

$fields["billing"] = $ordered_fields;
return $fields;

}

只需根据您的偏好重新排列
$order\u列表
数组。

您可以使用woocommerce\u cart\u优惠券挂钩向购物车添加一个新字段,然后使用模板重定向挂钩创建处理程序

我们以前在网站上使用过的类似以下内容:

add_action( 'woocommerce_cart_coupon', array(&$this, 'new_woocommerce_cart_coupon'), 10, 0 );
add_action( 'template_redirect', array(&$this, 'new_post_code_cart_button_handler') );

public function new_woocommerce_cart_coupon() {
    ?>
        <br/><br/><p>Enter your postcode</p><label for="post_code">Post Code</label> <input type="text" name="post_code" class="input-text" id="post_code" value="" /> <input type="submit" class="button" name="apply_post_code" value="Check Post Code" />
    <?php
}

public function new_post_code_cart_button_handler() {
    if( is_cart() && isset( $_POST['post_code'] ) && $_SERVER['REQUEST_METHOD'] == "POST" && !empty( $_POST['post_code'] ) ) {
      //validate post code here
    }
}
add_action('woocommerce_cart_优惠券',数组(&$this,'new_-woocommerce_cart_优惠券'),10,0);
添加操作('template_redirect',数组(&$this,'new_post_code_cart_button_handler');
公共功能新商务购物车优惠券(){
?>


输入您的邮政编码