在Woocommerce 3中更改送货方式标签名称

时间:2018-03-27 22:14:43

标签: php wordpress woocommerce label shipping

我已经从USPS向我的Wordpress网站添加了两个送货选项:priority mailfirst-class package service。这些选项分别在购物车和结帐页面上显示为“一流包裹服务”“优先邮件”

我发现这些标题都有点笨重,并希望将它们分别改为购物车和结帐页面上的“标准”和“优先级”。

关于我需要添加哪些代码来实现此目的的任何想法?

1 个答案:

答案 0 :(得分:2)

更新:您的标签名称不正确(还根据方法ID添加了备选方案)

以下代码将允许您更改/重命名您的送货方式显示的标签名称。下面有2个替代品:

1)基于Shipping Wethod标签名称

add_filter( 'woocommerce_package_rates', 'change_shipping_methods_label_names', 20, 2 );
function change_shipping_methods_label_names( $rates, $package ) {

    foreach( $rates as $rate_key => $rate ) {

        if ( __( 'First-Class Package Service', 'woocommerce' ) == $rate->label )
            $rates[$rate_key]->label = __( 'Standard', 'woocommerce' ); // New label name

        if ( __( 'Priority Mail', 'woocommerce' ) == $rate->label )
            $rates[$rate_key]->label = __( 'Priority', 'woocommerce' ); // New label name
    }

    return $rates;
}

代码进入活动子主题(或活动主题)的function.php文件。经过测试并正常工作。

  

您需要刷新送货缓存:
  1)首先,此代码已保存在function.php文件中。
  2)在运输设置中,输入运输区域并禁用运输方式和"保存"。然后重新启用送货方式和"保存"。 你已经完成了。

2)基于送货方式ID

add_filter( 'woocommerce_package_rates', 'change_shipping_methods_label_names', 10, 2 );
function change_shipping_methods_label_names( $rates, $package ) {

    foreach( $rates as $rate_key => $rate ) {

        if ( 'wc_services_usps:1:first_class_package' == $rate_key )
            $rates[$rate_key]->label = __( 'USPS first class', 'woocommerce' ); // New label name

        if ( 'wc_services_usps:1:pri' == $rate_key )
            $rates[$rate_key]->label = __( 'USPS priority', 'woocommerce' ); // New label name
    }
    return $rates;
}

代码进入活动子主题(或活动主题)的function.php文件。经过测试并正常工作。

  

您需要刷新送货缓存:
  1)首先,此代码已保存在function.php文件中。
  2)在运输设置中,输入运输区域并禁用运输方式和"保存"。然后重新启用送货方式和"保存"。 你已经完成了。