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

标签 php wordpress woocommerce metadata cart

因此,目前在 WooCommerce 中启用了通过管理员添加到购物车的自定义 Ajax,它允许我添加自定义附加数据,如下所示:

$cart->add_to_cart($product_id , 1, 0, $variation, array('tmcartepo'=>$extra_options_data  ) );

而且效果很好。

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

非常感谢任何帮助。

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

最佳答案

假设 $extra_options_data 变量是一个数组,您可以将其嵌入到另一个数组中,这将允许添加第二个 $extra_options_data_2 变量数组,例如:

$custom_data = array( 'tmcartepo'=> array( 
    'option1' => $extra_options_data,
    'option2' => $extra_options_data_2,
) );

$cart->add_to_cart( $product_id , 1, 0, array(), $custom_data );

然后在购物车商品上,您将按如下方式访问这两个项目:

// Loop through cart items
foreach( WC()->cart->get_cart() as $cart_item ) {
    // Access first custom data array
    if( isset($cart_item['tmcartepo']['option1']) && ! empty($cart_item['tmcartepo']['option1']) ) {
        $extra_options_data = $cart_item['tmcartepo']['option1'];
    }

    // Access Second custom data array
    if( isset($cart_item['tmcartepo']['option1']) && ! empty($cart_item['tmcartepo']['option1']) ) {
        $extra_options_data_2 = $cart_item['tmcartepo']['option2'];
    }
}

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

$custom_data = array( 
    'tmcartepo'  => $extra_options_data,
    'tmcartepo2' => $extra_options_data_2,
);

然后在购物车商品上,您将按如下方式访问这两个项目:

// Loop through cart items
foreach( WC()->cart->get_cart() as $cart_item ) {
    // Access first custom data array
    if( isset($cart_item['tmcartepo']) && ! empty($cart_item['tmcartepo']) ) {
        $extra_options_data = $cart_item['tmcartepo'];
    }

    // Access Second custom data array
    if( isset($cart_item['tmcartepo2']) && ! empty($cart_item['tmcartepo2']) ) {
        $extra_options_data_2 = $cart_item['tmcartepo2'];
    }
}

关于php - 将多个自定义数据数组添加到 WooCommerce 自定义 Ajax 上的购物车项目添加到购物车,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64228652/

相关文章:

css - 无法隐藏注册链接

Wordpress 验证标题

php - 在模态对话框中使用 Bootstrap Clockpicker

phpExcel列大小问题

mysql - wordpress custom_meta 时间戳排序

php - 在 WooCommerce 付款后立即更改订单状态

php - 使用 CRUD 方法设置订单创建日期并将其保存在 Woocommerce 3 中

PHP嵌套菜单安全问题

php - 从另一个表和变量中插入值

php - 使用预订和租赁系统插件禁用 WooCommerce 中的每小时价格