【发布时间】:2019-10-13 08:51:35
【问题描述】:
我已为订单添加了额外费用,其中一项是可选(客户可以使用 AJAX 单选按钮在结帐页面上选择它)。
我的目标是在客户帐户中仅在添加了可选费用的那些订单的详细信息中回显自定义消息。
所以,基本上,假设我下订单有 3 笔费用(这些费用都存储在 wp_woocommerce_order_items 表中的 fee 中的 order_item_type 列中)。
这三项费用中的一项称为Optional Fee(我的目标所需的一项)。
如何检查该Optional Fee 是否存在于订单商品中?
我从以下代码开始,但它只会让我获得最后存储的费用的名称,因此与Optional Fee 不匹配。
$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,但我不知道如何去做,也找不到可行的解决方案到目前为止。
【问题讨论】:
标签: php mysql wordpress woocommerce orders