php WooCommerce -获取所有运输选项(包裹)的列表

zed5wv10  于 2023-03-11  发布在  PHP
关注(0)|答案(2)|浏览(111)

我正在开发WooCommerce插件,我试图获取所有可用的运输 * 包 * 列表(这似乎是他们在WooCommerce中所指的)。换句话说,我想要所有的运输选项,这是潜在的可用客户结帐,例如“头等舱”,“二等”等,而不是只返回“统一费率”,“免费送货”等运输方法。
基于一些研究和类似的代码,我正在使用获取航运区,方法等,我尝试使用以下代码:

$shipping_packages = WC()->shipping()->get_shipping_packages();
foreach($shipping_packages as $shipping_package) {
   echo $shipping_package->label;
}

但它抛出一个错误:PHP Fatal error: Uncaught Error: Call to undefined method WC_Shipping::get_shipping_packages()
有没有什么方法可以让我拿到包裹?

xsuvu9jc

xsuvu9jc1#

我现在已经解决了这个问题。对于任何试图做同样事情的人,这就是我最终做的。首先,我得到了这样的航运区:

$shipping_zones = WC_Shipping_Zones::get_zones();

然后,我将迭代每个区域中的运输方法,输出带有区域名称的标题,以区分每个区域中可能具有相同标题的方法:

foreach($shipping_zones as $shipping_zone) {
    $shipping_methods = $shipping_zone['shipping_methods'];
    foreach($shipping_methods as $shipping_method) {
        echo $shipping_method->title . ' (' . $shipping_zone['zone_name'] . ')';
    }
}
xlpyo6sf

xlpyo6sf2#

get_shipping_packagesWC_Cart的一个方法,可以通过WC()->cart取车,所以

WC()->cart->get_shipping_packages()

我应该把包裹寄回。https://www.businessbloomer.com/woocommerce-get-cart-info-total-items-etc-from-cart-object/

相关问题