Woocommerce:如何为每个购买的商品生成唯一ID?

时间:2015-10-22 22:41:04

标签: wordpress woocommerce

我正在使用WooCommerce 2.4.7在WordPress 4.3.1中工作。对于我雇主当前的商店项目,我们需要为购买的每件商品生成唯一的ID,这与任何其他购买都不一样。

例如,如果有人购买了3件相同设计和尺码的衬衫,那么这些衬衫中的每件衬衫一旦进入购物车,就应该每件衬衫都显示一个唯一的商品ID。无论我们获得的订单数量如何,都不能复制唯一的商品ID。

至于ID,我考虑将产品SKU与日期混合,可能还有订单ID来生成日期。我到底该怎么做?是否有可以处理此问题的插件,或者我应该直接处理PHP?

2 个答案:

答案 0 :(得分:1)

你可以使用像woocommerce_order_status_completed这样的WooCommerce钩子,以便在每次购买后运行一些东西。

add_action( 'woocommerce_order_status_completed', 'custom_function' );

function custom_function($order_id) {
    // completed order object (can be useful)
    $order = new WC_Order( $order_id );
    // run what you want here
}

我建议你使用post meta或用户元(根据你的需要)。

答案 1 :(得分:1)

我假设您希望在内部使用唯一ID进行工单跟踪 使用这个钩子(我正在使用处理而不是完成)

add_action( 'woocommerce_order_status_processing', 'add_unique_id' );

然后这样做

function add_unique_id($order_id) {
        $order = new WC_Order( $order_id );
        $items = $order->get_items(); 
        foreach ($items as $item_id => $product ) {
          $gen_id = "generate id goes here"; 
          wc_add_order_item_meta($item_id, 'unique_id', $gen_id);
        }