[英]Keep only a specific payment method for Local Pickup shipping method in WooCommerce
[英]Make Order notes required if shipping method is local pickup in Woocommerce
在Woocommerce中,我希望仅在选择本地拾取作为运输方法时,才希望“需要”结帐订单注释字段。
我已设法更改本地取件 label,以便指示客户向此字段添加详细信息,但想知道是否有一种方法可以在他们向此部分添加详细信息之前不允许他们继续操作?
任何帮助将不胜感激。
下面的代码将使“订单备注”成为“本地取货”选择的运输方式的必填字段,如果客户尝试为此要求提交订单,将显示错误通知:
// Validate mandatory "Order notes" field for "Local Pickup" shipping methods
add_action( 'woocommerce_checkout_process', 'local_pickup_order_comment_validation', 20 );
function local_pickup_order_comment_validation() {
$chosen_shipping = WC()->session->get( 'chosen_shipping_methods' )[0];
$chosen_shipping = explode(':', $chosen_shipping);
if ( $chosen_shipping[0] == 'local_pickup' && empty($_POST['order_comments']) ){
wc_add_notice( __( "You need to fill up \"Order notes\" with some details.", "woocommerce" ), 'error' );
}
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。 测试和工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.