Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在Woocommerce签出页面上强制设置装运方式字段_Php_Wordpress_Woocommerce_Checkout_Shipping - Fatal编程技术网

Php 在Woocommerce签出页面上强制设置装运方式字段

Php 在Woocommerce签出页面上强制设置装运方式字段,php,wordpress,woocommerce,checkout,shipping,Php,Wordpress,Woocommerce,Checkout,Shipping,我确信有一个快速的代码可以解决这个问题,但我正在努力找到它 我有一个WordPress/WooCommerce网站设置,正在使用WooCommerce Shipping Pro和Table Rate插件在WooCommerce的配送设置中指定配送率以及本地提货选项 这一切都很好,但遇到了一个小问题 在结帐页面上-如果未选择任何发货方式,但已填写所有其他字段,则仍允许我单击“付款”按钮并进入付款网关 所以,我在寻找一段代码,该代码将检查以确保选择了一种配送方式,或者将配送方式设置为必填字段。因此,

我确信有一个快速的代码可以解决这个问题,但我正在努力找到它

我有一个WordPress/WooCommerce网站设置,正在使用WooCommerce Shipping Pro和Table Rate插件在WooCommerce的配送设置中指定配送率以及本地提货选项

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

在结帐页面上-如果未选择任何发货方式,但已填写所有其他字段,则仍允许我单击“付款”按钮并进入付款网关

所以,我在寻找一段代码,该代码将检查以确保选择了一种配送方式,或者将配送方式设置为必填字段。因此,当客户单击“付款”时,如果未选择发货方式,则将不允许他们继续,并将标记警告

链接至网站:

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

// 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文件。已测试并正常工作。

感谢代码发挥了作用,未选择Collect in Store的问题也已解决。