php - 在 Woocommerce 3 中访问运费对象数据
问题描述
我想在 Woocommerce 中获得可能的运输方式。我可以上 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(
我感到困惑。任何帮助都将不胜感激。
解决方案
尝试以下使用WC_Shipping_Rate
方法或直接使用属性:
// 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>';
}
}
测试和工作。
推荐阅读
- amazon-web-services - 使用 Spectrum 查询 Athena 视图
- python - 如何从也存储为变量的python文件中调用存储为变量的函数?
- c# - 如何将 Blazor WebAssembly 应用程序插入任意 HTML 页面或 ASP.NET MVC 5 应用程序?
- c# - OData join in a many to many
- python-3.x - How to use O_SYNC with Popen.pipe in Python 3?
- scala - 为每一行查找一组列中的第一个非空值和列名
- javascript - 如何使用 PHP 或 Javascript 从 Google Cloud Storage 压缩和下载特定文件?
- flutter - 仅保存第一个选择的图像 + 在第一个选择之后选择的所有图像都不会保存在带有 path_provider 的颤振中
- javascript - 选择父选项Js,Jquery时如何自动选择子选项
- .net - URL 根据输入 URL 重定向到不同的 Web 服务器