gpt4 book ai didi

php - 检查 woocommerce 订单项目中是否存在特定费用

转载 作者:行者123 更新时间:2023-11-29 15:58:30 25 4
gpt4 key购买 nike

我已向订单添加了额外费用,其中一项是可选的(客户可以使用 AJAX 单选按钮在结帐页面上进行选择)。

我的目标是在客户帐户中添加了可选费用的订单的详细信息中回显自定义消息。

所以,基本上,假设我下的订单有 3 项费用(这些费用全部存储在 wp_woocommerce_order_items 表中,作为 order_item_type 中的 fee > 栏)。

这 3 项费用中的一项称为可选费用(我的目标所需的费用)。

如何检查订单商品中是否存在此可选费用

我从以下代码开始,但它只能获取最后存储的费用名称,因此与可选费用不匹配。

$order = wc_get_order( $order_id );

foreach ( $order->get_items('fee') as $item_id => $item ) {

$fee_name = $item->get_name(); // This only gets me the name of the last fee stored in order items table.

if ( $fee_name == 'Optional Fee' ) {

echo 'Custom message';

}
}

我认为我应该以某种方式获取费用列表(它是一个数组吗?)并检查该列表中是否存在Optional Fee,但我不知道该怎么做,也无法到目前为止还没有找到可行的解决方案。

最佳答案

经过两天的尝试和错误,我终于弄清楚了。我不知道这是否是最好的解决方案,但它确实有效。

基本上,我需要做的是,如果在循环订单的费用项目时发现可选费用,则返回一个 true 语句。

如果有人需要类似的东西,这里是代码:

$order = wc_get_order( $order_id );

$optional_fee_exists = false;

$fee_counter = 0;

foreach ( $order->get_fees() as $item_fee ) {

$fee_counter++;

$fee_name = $item_fee->get_name();

if ( $fee_name == 'Optional Fee' ) {

$optional_fee_exists = true;

}
}


if ( $optional_fee_exists ) {

//do stuff;

}

关于php - 检查 woocommerce 订单项目中是否存在特定费用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56331821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com