WooCommerce-订单详细信息谢谢页面为每个产品添加随机数吗?

时间:2019-01-17 10:12:23

标签: woocommerce

我陷入一个问题,因为在我的电子商务网站上下订单后,我想在订单详细信息部分显示每种产品的随机数。 我已经尝试过了:在theme(function.php)

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 ="Hi Dad!";
      wc_add_order_item_meta($item_id, 'unique_id', $gen_id);
     }

但是通过使用此方法,我无法获得每种产品的唯一编号。

我想在“谢谢”页面图像的红色部分下方添加随机数。

enter image description here

请帮助解决。 预先感谢

2 个答案:

答案 0 :(得分:2)

如果您已经完成了将item_meta_data添加到购物车中的工作,希望您也可以轻松地使其在购物车中可见吗?

这不是必需的,仅用于测试目的。 为此,您可以使用“ woocommerce_get_item_data

add_filter( 'woocommerce_get_item_data', 'mwb_wgm_woocommerce_get_item_data', 10, 2 );

function mwb_wgm_woocommerce_get_item_data($item_meta, $existing_item_meta){

    //by using $existing_item_meta , find your unique_key (whether it is displaying or not)

    foreach ($existing_item_meta as $key => $val ) {

        if($key == 'unique_key') {
            $item_meta [] = array (
                    'name' => __('RANDOM KEY','your_slug'),
                    'value' => stripslashes( $val ),
            );
        }
    }
    return $item_meta;
}

让我知道您的UNIQUE KEY是否在那里显示?

答案 1 :(得分:1)

这里有各种各样的问题  1. wc_add_order_item_meta(Woo版本<3.0.0)

如果您想将item_meta添加到每个产品中,然后是的,它将自动显示在“谢谢订购”页面上。

请使用“ $ item-> add_meta_data('Your_Key',$ order_val);“ [WC_version> = 3.0.0]

  1. 请确保已使用此钩子->“ woocommerce_add_cart_item_data”将“关键字”设置为cart_item_meta。

希望这可能对您有所帮助:)