更新WooCommerce中运输方式价格的动态方法
P粉605233764
P粉605233764 2023-08-13 18:08:43
[PHP讨论组]

我正在尝试动态更新我的运输方式的运费价格。我从api获取运费,并希望在成功获取api响应的价格时更新价格。我正在使用以下代码:

function handle_api_response( $rates ) {

   // api调用代码在这里.....
   if ($response_code === 200){
        $response_data = json_decode($response, true);
        $price = $response_data['shipments']
   }

   add_filter( 'woocommerce_package_rates', 'set_shipping_prices', PHP_INT_MAX, 1 );
   function set_shipping_prices( $rates ) {
     foreach ( $rates as $rate_id => $rate ) {
        $rates[ $rate_id ]->cost = $price;
     }
      return $rates;
   }    

}

上述代码不起作用,但是如果我将过滤器移出handle_api_response函数并将一些静态值设置为费用,它似乎可以工作。像这样:

function handle_api_response( $rates ) {

   // api调用代码在这里.....

   if ($response_code === 200){
        $response_data = json_decode($response, true);
        $price = $response_data['shipments']
   }

}

add_filter( 'woocommerce_package_rates', 'set_shipping_prices', PHP_INT_MAX, 1 );
   function set_shipping_prices( $rates ) {
     foreach ( $rates as $rate_id => $rate ) {
        $rates[ $rate_id ]->cost = 50;
     }
      return $rates;
}

我的问题是,由于我从api获取价格值,我需要将价格从api响应传递给在触发过滤器时运行的set_shipping_prices函数。

P粉605233764
P粉605233764

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号