我想在用Woo购买的订单内的每个产品上保存一个随机生成的字符串(人类友好/可读)。
除非我弄错了,否则每个订单项都没有唯一的标识符来表明该特定产品是按照该特定订单购买的(这意味着如果我购买的产品中有数量为2的订单,则它们都具有产品ID和订单ID相同,并且无法区分唯一性。
因此,我可能只需要将其存储在订单上即可。 因此,我创建了一个新数组$ productCodes,并在
中签出add_action( 'woocommerce_checkout_create_order', function( $order, $data )
此数组必须为每个产品存储唯一的代码。
因此,如果有3个产品(数量为1的1 x红球,数量为2的id#2蓝色球),那么我将遍历每个产品(在这种情况下为3次迭代),最终数组如下所示:
假设它是一个数组,其中第一列是产品ID,第二列是代码数组(与数量直接相关):
[1] [{AAABBB}]
[2] [{DDDEEE},{FFFGGG}]
因此,这意味着产品1的代码为AAABBB,而产品2(数量为2)的每个产品都具有DDDEEE和FFFGGG。
最后,我将其另存为: $ order-> update_meta_data('codes',$ productCodes);
我的假设正确吗,这是存储信息的好方法吗? 我唯一关心的是下一次生成代码时,我想确保它是唯一的,我必须扫描所有使用的代码顺序,对我而言,对所有这些顺序来说,这似乎是一个令人恐惧的主张。
然后我还应该为所有使用的代码制作一个自定义数据库表,以便于搜索吗?
感谢您的考虑/帮助!