不确定为什么在将 ACF 字段添加到自定义列时未定义的变量通知尝试获取产品 'id'?

Unsure why undefined variable notice trying to get product 'id' when adding ACF fields to custom column?

我已经在管理仪表板的 WooCommerce 产品页面中添加了一个自定义列,但是当尝试通过为 Post 类型 -> 产品设置添加 2 个自定义 ACF 字段设置来填充列时,我收到了调试错误通知在该自定义列中的每个产品上列出。

Notice: Undefined variable: product in /./././wp-content/themes/bpa/functions.php on line 923

Notice: Trying to get product 'id' of non-object in /./././wp-content/themes/bpa/functions.php on line 923

任何人都可以帮助解释我做错了什么以获得未定义的变量吗?

第 923 行是:

        $product_id = method_exists( $product, 'get_id' ) ? $product->get_id() : $product->id;

是不是因为我用的是旧的 WC 方法之类的?

全功能:

// Populate column
function woo_product_rmreference_column_data( $column ) {
    global $post;

    if ( $column == 'rm_reference' ) {
            
        // 
            $product_id = method_exists( $product, 'get_id' ) ? $product->get_id() : $product->id;
        
            // Get ACF Fields
            $reference = get_field( 'property_reference', $product_id );
            $address = get_field( 'location', $product_id );

            // Output
            echo ($reference . $address) ? '<div>'.$reference.' - '.$address.'</div>' : '<div>Not found!</div>';
    }
}
add_action( 'manage_product_posts_custom_column' , 'woo_product_rmreference_column_data', 10, 2 );

任何人都可以观看。如果使用$product和$post,则需要使用global $product;和 global $post 访问它们。

global $product;

$product_id = $product->get_id();