将 "flat rate" 送货方式设置为 woocommerce 中的默认送货方式

Set "flat rate" shipping method as default in woocommerce

我有一个 woocommerce 网站,我设置了 2 种送货方式:
- 统一费率
- 当地取货

我想在购物车或结帐页面中将 "Flat rate" 送货方式设置为默认(已选择)。

如有任何帮助,我们将不胜感激。

1) 您可以使用以下代码(将 "flat rate" 送货方式设置为默认方式)在购物车页面中:

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 );
    }
}

代码进入活动子主题的 function.php 文件(活动主题或任何插件文件)。

在 WooCommerce 3+ 中测试和工作


2) 您还可以在您的送货区域设置中重新排序运费(但它并没有真正起作用,因为最后选择的送货方式是手).

您可以使用以下代码将 'any' 送货方式设置为默认方式。

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 Shipping Plugin 这样的承运人运输插件。您可以获取值 Id(如下所示)并将其粘贴到上面代码中的“$default_method”下方。

您必须将代码复制并粘贴到主题的 WordPress 仪表板->外观–>编辑器–>functions.php

希望对您有所帮助。 :)

copy the value Id from here