我已经在WooCommerce中设置了可变产品。
每一个变化都有一个独特的SKU。我的使命是检查购物车内的SKU,然后根据SKU,生成一些随机字符串(16个字母数字字符)。
- 如果购物车中的物品(1)是SKU“ABC”,则针对相应订单生成并存储(X)个唯一字符串。
- 如果购物车中的物品(2)是SKU“DEF”,则针对相应订单生成并存储(y)个唯一字符串。
我已经看过woocommerce_add_order_item_meta
钩子,但我似乎无法访问与此钩子相关的函数中的项目产品数据?
我现在用
add_action( 'woocommerce_add_order_item_meta', 'experiment_add_order_item_meta', 10, 3 );
function experiment_add_order_item_meta( $item_id, $values, $cart_item_key ) {
// Get a product custom field value
$custom_field_value = 'hithere';
// Update order item meta
if ( ! empty( $custom_field_value ) ){
wc_add_order_item_meta( $item_id, 'meta_key1', $custom_field_value, false );
}
}
但是我在试图从这一点上获取产品SKU时迷失了方向。我不能在函数中看到var_dump()
等?
1条答案
按热度按时间gj3fmq9x1#
说明/使用的功能
woocommerce_add_order_item_meta
钩子自WooCommerce 3以来已弃用。请使用woocommerce_checkout_create_order_line_item
WC_Product::get_sku( $context );
-获取SKU(库存单位)-产品唯一ID。所以你得到: