【问题标题】:Accessing Shipping Rate object data in Woocommerce 3在 Woocommerce 3 中访问运费对象数据
【发布时间】:2019-03-16 11:57:04
【问题描述】:

我想在 Woocommerce 中获取可能的运输方式。我可以参加 Class WC_Shipping_Rate 课程,但我不知道如何“深入”,这让我发疯。

这是我的代码:

$packages = WC()->shipping->get_packages();

foreach ( $packages as $i => $package ) {

    foreach($package['rates'] as $value){
        echo '<pre>'.var_export($value, true).'</pre>';
    }

}

这段代码在我的屏幕上打印:

WC_Shipping_Rate::__set_state(array(
   'data' => 
  array (
    'id' => 'flat_rate:1',
    'method_id' => 'flat_rate',
    'instance_id' => 1,
    'label' => 'Per post',
    'cost' => '2.50',
    'taxes' => 
    array (
    ),
  ),
   'meta_data' => 
  array (
    'Items' => '1 Kip × 1',
  ),
))
WC_Shipping_Rate::__set_state(array(
   'data' => 
  array (
    'id' => 'free_shipping:2',
    'method_id' => 'free_shipping',
    'instance_id' => 2,
    'label' => 'Download kaart',
    'cost' => '0.00',
    'taxes' => 
    array (
    ),
  ),
   'meta_data' => 
  array (
    'Items' => '1 Kip × 1',
  ),
))

我的问题是:如何访问 data 数组和 label 值?我知道如何获取 label 值,但我无法“达到”data...

我尝试使用方法、更多数组来获取它,但 WC_Shipping_Rate::__set_state(array( 让我感到困惑。任何帮助都会得到帮助。

【问题讨论】:

    标签: php wordpress woocommerce rate shipping-method


    【解决方案1】:

    使用WC_Shipping_Rate methods 或直接使用属性尝试以下操作:

    // Loop though shipping packages
    foreach ( WC()->shipping->get_packages() as $key => $package ) {
        // Loop through Shipping rates
        foreach($package['rates'] as $rate_id => $rate ){
    
            echo $rate->get_label(). '<br>';
    
            // Or:
            echo $rate->label. '<br>';
        }
    }
    

    经过测试并且有效。

    【讨论】:

    • 你为自己赢得了一块饼干!谢谢@LoicTheAztec!
    猜你喜欢
    • 1970-01-01
    • 2019-03-25
    • 2018-10-27
    • 1970-01-01
    • 2017-09-21
    • 1970-01-01
    • 1970-01-01
    • 2020-03-21
    • 1970-01-01
    相关资源
    最近更新 更多