提问者:小点点

在woocommerce中将“统一费率”装运方式设置为默认值


我有一个woocommerce网站,我设置了两种配送方式:
-统一费率
-本地提货

我想在购物车或结帐页面中将“固定费率”发货方式设置为默认(选中)。

任何帮助都应该受到赞赏。


共2个答案

匿名用户

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