You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Woocommerce多商品订单中如何获取指定商品元字段值?

问题修复方案

你的问题出在当前代码每次循环都会用新商品的元数据覆盖$startdate变量,如果订单最后一个商品是不含该元字段的商品B,最终$startdate就会是空值。

修复后的代码

$startdate = '';
foreach ($order->get_items() as $item_id => $item ) {
    // 检查当前商品是否存在指定元字段
    if ($item->get_meta('Start Date')) {
        $startdate = $item->get_meta('Start Date');
        // 因为每个订单只有商品A有该元键,找到后直接跳出循环提升效率
        break;
    }
}

代码说明

  • 先初始化$startdate为空字符串,避免未定义变量问题
  • 遍历订单商品时,先判断当前商品是否存在Start Date元字段
  • 找到目标元字段后立即赋值并跳出循环,不用继续遍历剩余商品
  • 这样无论商品A在订单商品列表的哪个位置,都能正确获取到对应的元值

内容的提问来源于stack exchange,提问作者Matthew Bernier

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 02:06:26