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

Woocommerce支付网关:已知订单ID无法获取产品ID的问题

问题解决:WooCommerce订单获取产品ID报错处理

错误原因

你代码里的$orderid = $order->get_id();得到的是整数类型的订单ID,而get_items()是WC_Order对象专属方法,直接给整数调用这个方法必然报错,和循环位置无关。

修正后的代码

情况1:已持有WC_Order对象(代码中已有$order变量)

直接用$order对象调用get_items()即可,无需先取ID:

foreach( $order->get_items() as $order_item ) {
    $product = $order_item->get_product();
    if ( $product ) { // 确保产品对象有效
        $product_id = $product->get_id();
        echo $product_id;
    }
}

情况2:仅拿到订单ID(比如从钩子参数获取到的是ID,如错误栈里的receipt_page(5648))

需先通过订单ID获取WC_Order对象,再调用方法:

$order_id = 5648; // 替换为实际订单ID变量
$order = wc_get_order( $order_id );

if ( $order ) { // 确保订单对象有效
    foreach( $order->get_items() as $order_item ) {
        $product = $order_item->get_product();
        if ( $product ) {
            $product_id = $product->get_id();
            echo $product_id;
        }
    }
}

完整错误信息(中文翻译)

致命错误:未捕获错误:在整数上调用成员函数get_items(),位于/home/customer/www/xyz.com/public_html/site/wp-content/plugins/woocommerce-gateway-nab-dp/woocommerce-nab-dp.php:946
调用栈:
#0 /home/customer/www/xyz.com/public_html/site/wp-includes/class-wp-hook.php(308): WC_Gateway_NAB_Direct_Post->receipt_page(5648)
#1 /home/customer/www/xyz.com/public_html/site/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters('', Array)
#2 /home/customer/www/xyz.com/public_html/site/wp-includes/plugin.php(517): WP_Hook->do_action(Array)
#3 /home/customer/www/xyz.com/public_html/site/wp-content/themes/STAR-child/woocommerce/checkout/order-receipt.php(44): do_action('woocommerce_rec...', 5648)
#4 /home/customer/www/xyz.com/public_html/site/wp-content/plugins/woocommerce/includes/wc-core-functions.php(345): include('/home/customer/...')
#5 /home/customer/www/...位于/home/customer/www/xyz.com/public_html/site/wp-content/plugins/woocommerce-gateway-nab-dp/woocommerce-nab-dp.php第946行

内容的提问来源于stack exchange,提问作者Adam Fletcher

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 05:17:23