Php 将多个自定义数据数组添加到WooCommerce上的购物车项目自定义Ajax添加到购物车

Php 将多个自定义数据数组添加到WooCommerce上的购物车项目自定义Ajax添加到购物车,php,wordpress,woocommerce,metadata,cart,Php,Wordpress,Woocommerce,Metadata,Cart,因此,目前,我们在WooCommerce中通过admin启用了一个自定义Ajax添加到购物车,允许我添加自定义附加数据,如下所示: $cart->add_to_cart($product_id , 1, 0, $variation, array('tmcartepo'=>$extra_options_data ) ); 而且效果很好 但问题是,我需要在add_to_cart()上设置2(两)个自定义附加数据数组 非常感谢您的帮助 基本上,这个站点有产品设计器和额外的产品自定义字段

因此,目前,我们在WooCommerce中通过admin启用了一个自定义Ajax添加到购物车,允许我添加自定义附加数据,如下所示:

$cart->add_to_cart($product_id , 1, 0, $variation, array('tmcartepo'=>$extra_options_data  ) );
而且效果很好

但问题是,我需要在
add_to_cart()
上设置2(两)个自定义附加数据数组

非常感谢您的帮助


基本上,这个站点有产品设计器和额外的产品自定义字段,所有这些都由单独的插件管理。我的任务是在我的帐户中创建单个产品重新订购。因此,我想将新产品添加到购物车,并为该产品设置两个不同的元数据数组。

假设
$extra\u options\u data
变量是一个数组,您可以将其嵌入到另一个数组中,这将允许添加第二个
$extra\u options\u data\u 2
变量数组,如:

$custom_data=数组('tmcartepo'=>数组(
'option1'=>$extra\u options\u数据,
'option2'=>$extra\u options\u data\u 2,
) );
$cart->add_to_cart($product_id,1,0,array(),$custom_data);
然后在购物车项目上,您将按以下方式访问这两个项目:

$cart->add_to_cart($product_id , 1, 0, $variation, array('tmcartepo'=>$extra_options_data  ) );
//循环购物车项目
foreach(WC()->cart->get_cart()作为$cart_项目){
//访问第一个自定义数据数组
如果(设置($cart\u item['tmcartepo']['option1'])&!空($cart\u item['tmcartepo']['option1'])){
$extra_options_data=$cart_item['tmcartepo']['option1'];
}
//访问第二个自定义数据数组
如果(设置($cart\u item['tmcartepo']['option1'])&!空($cart\u item['tmcartepo']['option1'])){
$extra_options_data_2=$cart_item['tmcartepo']['option2'];
}
}

或者您也可以按如下方式使用它:

$cart->add_to_cart($product_id , 1, 0, $variation, array('tmcartepo'=>$extra_options_data  ) );
$custom_data=数组(
“tmcartepo”=>$extra\u选项\u数据,
'tmcartepo2'=>$extra\u options\u data\u 2,
);
然后在购物车项目上,您将按以下方式访问这两个项目:

$cart->add_to_cart($product_id , 1, 0, $variation, array('tmcartepo'=>$extra_options_data  ) );
//循环购物车项目
foreach(WC()->cart->get_cart()作为$cart_项目){
//访问第一个自定义数据数组
if(设置($cart\u项目['tmcartepo'])和&!空($cart\u项目['tmcartepo'])){
$extra_options_data=$cart_item['tmcartepo'];
}
//访问第二个自定义数据数组
if(设置($cart\u项目['tmcartepo2'])和&!空($cart\u项目['tmcartepo2'])){
$extra_options_data_2=$cart_item['tmcartepo2'];
}
}

嘿,非常感谢,我不知道为什么我以前没有想到,发送两个这样的阵列解决了问题。