在 woocommerce 购物车上保存和恢复产品

问题描述 投票:0回答:0

在将添加到购物车中的产品存储并在清空购物车时恢复它们时,下面的这些代码对我不起作用。我之所以将现有产品保存在购物车中,是因为有些情况下用户只结帐购物车中的特定产品,所以我需要它们在结帐后存储/保存和恢复。

有人可以帮我改正吗?

这里的代码应该保存:

function save_cart_details()
{
  if (is_user_logged_in())
  {
    global $current_user;
    wp_get_current_user();
    $user_id = $current_user->ID;
    $cart_contents = WC()->cart->get_cart();
    $meta_key = 'cart-'.date('l dS F');
    $meta_value = $cart_contents;
    update_user_meta( $user_id, $meta_key, $meta_value);
  }
  die();
}
add_action( 'wp_ajax_nopriv_save_cart_details', 'save_cart_details' );
add_action('wp_ajax_save_cart_details', 'save_cart_details');

下面据说可以恢复购物车上保存的产品:

add_action( 'wp_ajax_nopriv_restore_cart_details', 'restore_cart_details' );
add_action('wp_ajax_restore_cart_details', 'restore_cart_details');
function restore_cart_details($wdm_selected_cart_key)
{
  $cart_content = get_user_meta($user_id, $wdm_selected_cart_key, true);


  // add cart contents
  foreach ( $cart_content as $cart_item_key => $values )
  {
    $id =$values['product_id'];
    $quant=$values['quantity'];
    WC()->cart->add_to_cart( $id, $quant);
  }

    die();
}
php wordpress woocommerce cart checkout
© www.soinside.com 2019 - 2024. All rights reserved.