在woocommerce中将“统一费率”送货方式设为默认值

时间:2017-10-12 06:56:46

标签: php wordpress woocommerce cart shipping

我有一个woocommerce网站,我设置了2种送货方式:
- 统一价格
- 本地取件

我想在购物车或结帐页面中将“统一费率”送货方式设为默认(已选中)。

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

2 个答案:

答案 0 :(得分:0)

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

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

在WooCommerce 3 +中测试并运行

2)您也可以在运输区域设置中对运费进行重新排序(但它并不像上次选择的运输方式那样真正起作用)

答案 1 :(得分:0)

您可以使用以下代码将“任何”运输方式设置为默认方式。

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