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

WooCommerce调用update_meta_data()报on int错误是什么原因

问题根源

你调用的wc_get_product_id_by_sku() 函数返回值为产品ID(整数类型),而非WC_Product产品对象,你直接对整数类型变量调用对象方法update_meta_data()自然会抛出类型错误。

修复方案

你需要先通过拿到的产品ID获取对应的WC_Product对象,再执行元数据更新操作,同时建议增加非空判断避免SKU不存在时的后续报错,正确代码示例如下:

// 通过SKU获取产品ID
$product_id = wc_get_product_id_by_sku( $wproduct['code'] );
// 判断ID是否有效
if ( $product_id ) {
    // 获取产品对象
    $product = wc_get_product( $product_id );
    if ( $product ) {
        $product->update_meta_data('_bims_id', $wproduct['bims_id']);
        $product->save();
    }
}

补充说明:如果传入的SKU不存在,wc_get_product_id_by_sku() 会返回0,此时不会进入后续更新逻辑,避免出现额外报错。

内容的提问来源于stack exchange,提问作者Enrique Benitez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 05:42:03