在Woocommerce结帐页面上制作运输方法字段必填

我确信有一些代码可以解决这个问题,但我很难找到它 .

我有一个WordPress / WooCommerce网站设置,并使用WooCommerce Shipping Pro和Table Rate插件来指定WooCommerce的发货设置中的送货率以及本地取件选项 .

这一切都很好,但是遇到了一个小问题 .

在结帐页面上 - 如果既未选择送货方式,也未填写所有其他字段,则仍允许我点击付款按钮并转到付款网关 .

所以,我正在检查一些代码,以确保选择了运输方法或将运输方法作为必填字段 . 因此,当客户点击Pay时如果没有选择运输方法,它将不允许它们继续并且将标记警告 .

链接到网站:https://larchcottage.co.uk/

回答(1)

2 years ago

如果在提交订单时未选择送货方式,以下代码将在结帐页面上输出错误消息:

// Validate shipping method fields and returning an error if none is choosed
add_action( 'woocommerce_checkout_process', 'shipping_method_validation', 20 );
function shipping_method_validation() {
    if ( ! isset( $_POST['shipping_method[0]'] ) ){
        wc_add_notice( __( "You need to choose your a shipping option.", "woocommerce" ), 'error' );
    }
}

代码位于活动子主题(或活动主题)的function.php文件中 . 经过测试和工作 .