我陷入一个问题,因为在我的电子商务网站上下订单后,我想在订单详细信息部分显示每种产品的随机数。 我已经尝试过了:在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);
}
但是通过使用此方法,我无法获得每种产品的唯一编号。
我想在“谢谢”页面图像的红色部分下方添加随机数。
请帮助解决。 预先感谢
答案 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]
希望这可能对您有所帮助:)