我有一个woocommerce网站,我设置了两种配送方式:
-统一费率
-本地提货
我想在购物车或结帐页面中将“固定费率”发货方式设置为默认(选中)。
任何帮助都应该受到赞赏。
1) 您可以在购物车页面中使用以下代码(将“统一费率”装运方式设置为默认值):
add_action( 'woocommerce_before_cart', 'set_default_chosen_shipping_method', 5 );
function set_default_chosen_shipping_method(){
//
if( count( WC()->session->get('shipping_for_package_0')['rates'] ) > 0 ){
foreach( WC()->session->get('shipping_for_package_0')['rates'] as $rate_id =>$rate)
if($rate->method_id == 'flat_rate'){
$default_rate_id = array( $rate_id );
break;
}
WC()->session->set('chosen_shipping_methods', $default_rate_id );
}
}
代码进入函数。活动子主题的php文件(活动主题或任何插件文件)。
在WooCommerce 3中测试和工作
2) 您还可以在“配送区域”设置中对配送率进行重新排序(但由于最后选择的配送方式是手动的,因此无法正常工作)。
您可以使用以下代码将“任意”装运方法设置为默认值。
function reset_default_shipping_method( $method, $available_methods ) {
$default_method = 'wf_fedex_woocommerce_shipping:FEDEX_GROUND'; //provide the service name here
if( array_key_exists($method, $available_methods ) )
return $default_method;
else
return $method;
}
比如说,您正在使用一个运营商配送插件,比如WooCommerce FedEx配送插件。您可以获取值Id(如下所示)并将其粘贴到上述代码中的“$default\u方法”下。
你将不得不复制和粘贴的代码在WordPress仪表板-
希望有帮助。:)
从这里复制值Id