我为WooCommerce定制了一个船运类。在calculate\\u shipping函数中,向我们的服务器发出API请求,请求可能的装运方法。这可能导致一个或多个费率。
我已将其集成到calculate\\u shipping()函数中,如下所示
// Make a shipping rate for each result
foreach ($quote->shipping_options as $option) {
$rate = array(
\'id\' => \'my_method_\'.$option->id,
\'label\' => $methodNames[$option->name],
\'cost\' => $option->price,
);
// Register the rate
$this->add_rate($rate);
}
这将显示正确的选项,使用正确的速率,在WooCommerce管理中,我可以看到使用了哪种方法。到目前为止,一切顺利。
问题是:
订单与自定义发货类中的发货ID和所选费率的标签一起存储。
如何以编程方式识别使用了哪种装运方法?由于明显的原因,我不想在标签上匹配,而ID是错误的。我可以存储标识符或更改此行为吗?
最合适的回答,由SO网友:Alireza Sabahi 整理而成
要了解如何存储choosen方法id或尝试使用:
// Make a shipping rate for each result
foreach ($quote->shipping_options as $option) {
$rate = array(
\'id\' => \'my_method_\'.$option->id,
\'label\' => $methodNames[$option->name],
\'cost\' => $option->price,
\'meta_data\' => array(),
);
// Register the rate
$this->add_rate($rate);
}
在“meta\\u data”中,您可以在数据库中存储您想要的任何内容。。。