【问题标题】:wordpress woocommerce (2.6.9) override shippingwordpress woocommerce (2.6.9) 覆盖运费
【发布时间】:2017-05-23 19:10:16
【问题描述】:

我需要在结帐时从外部系统动态获取运费。我已经访问了 api 并有变量中的成本,现在想用这些新成本“覆盖”来自 woocommerce 的成本。

我正在使用 woocommerce_package_rates 钩子,但似乎无法让它工作。在下面的示例中,为简单起见,我只是将变量换成了数字 (100)。有什么想法吗?

function flat_rates_cost( $rates, $package ) {
    if ( isset( $rates['flat_rate:5'] ) ) {
        $rates['flat_rate:5']->cost = 100;
    }
    return $rates;
}
add_filter( 'woocommerce_package_rates', 'flat_rates_cost', 10, 2 );

【问题讨论】:

    标签: php wordpress woocommerce shipping


    【解决方案1】:

    我可以将article 与完全相同的场景联系起来。如果您阅读那篇文章,它将向您描述如何应用您自己的逻辑来更改统一费率。

    【讨论】:

      【解决方案2】:
      function flat_rates_cost( $rates, $package ) {
          foreach($rates as $key  => $rate){
                       // Put your desired slug here for API service
              if($rate->method_id ==  'flat_rate'){
                  //  modify the value here
                  $rates[$key]->cost  =   25;
              }
          }
          return $rates;
      }
      add_filter( 'woocommerce_package_rates', 'flat_rates_cost', 10, 2 );
      

      【讨论】:

      • 复制自我的回答:)
      猜你喜欢
      • 2014-02-04
      • 2019-06-21
      • 2013-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-31
      • 2017-05-07
      相关资源
      最近更新 更多