使用自定义ID从ADD_RATE函数添加多个运费

时间:2020-06-10 作者:Mike

我为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是错误的。我可以存储标识符或更改此行为吗?

1 个回复
最合适的回答,由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”中,您可以在数据库中存储您想要的任何内容。。。

相关推荐