0, 'message' => __('Unauthorized!', 'ultimate-store-kit'), ]; if (!isset($_POST['product_id'])) { $response['message'] = __('No product selected!', 'ultimate-store-kit'); wp_send_json($response); } $product_id = isset($_POST['product_id']) ? sanitize_text_field($_POST['product_id']) : ''; $user_id = get_current_user_id(); $wishlist = ultimate_store_kit_get_wishlist($user_id); $wishlistCounter = count($wishlist); // print_r(count($wishlist)); if (($key = array_search($product_id, $wishlist)) !== false) { $response['action'] = 'removed'; $response['count'] = --$wishlistCounter; unset($wishlist[$key]); } else { $response['action'] = 'added'; $response['count'] = ++$wishlistCounter; $wishlist[] = $product_id; } $wishlist = array_unique($wishlist); // update wishlist $this->ultimate_store_kit_set_wishlist($wishlist, $user_id); // send response $response['status'] = 1; if ($response['action'] == 'added') { $response['message'] = __("Wishlist item Added!", "ultimate-store-kit"); wp_send_json($response); } else { $response['message'] = __("Add To Wishlist", "ultimate-store-kit"); wp_send_json($response); } } public function ultimate_store_kit_set_wishlist($wishlist, $user_id = 0) { $_wishlist_key = '_ultimate_store_kit_wishlist'; $_wishlist = []; // if ($user_id != 0) { // update_user_meta($user_id, $_wishlist_key, $wishlist); // } else { setcookie($_wishlist_key, serialize($wishlist), time() + MONTH_IN_SECONDS, COOKIEPATH, COOKIE_DOMAIN); // } } public function get_compare_product_page_id() { if($comparePage = ultimate_store_kit_compare_product_page()){ return $comparePage->ID; } } //====================================== //=========COMPARE PRODUCTS============= //====================================== public function usk_add_to_compare_products() { $response = [ 'status' => 0, 'message' => __('Unauthorized!', 'usk'), ]; if (!isset($_POST['product_id'])) { $response['message'] = __('No product selected!', 'usk'); wp_send_json($response); } $user_id = get_current_user_id(); $compare_products = usk_get_compare_products($user_id); // count compare products if (is_array($compare_products)) { $response['count'] = count($compare_products) + 1; } //add to compare products $response['action'] = 'added'; $compare_products[] = $_POST['product_id']; $compare_products = array_unique($compare_products); // update compare_productsusk_add_to_compare_products $this->ultimate_store_kit_set_compare_products($compare_products, $user_id); // send response $response['status'] = 1; if ($response['action'] == 'added') { $response['message'] = __("Added", "ultimate-store-kit"); $response['url'] = ''; if($pageId = $this->get_compare_product_page_id()){ $response['url'] = get_permalink($pageId); } wp_send_json($response); } else { $response['message'] = __("Compare", "ultimate-store-kit"); wp_send_json($response); } } public function usk_remove_from_compare_products() { $response = [ 'status' => 0, 'message' => __('Unauthorized!', 'ultimate-store-kit'), ]; if (!isset($_POST['product_id'])) { $response['message'] = __('No product selected!', 'ultimate-store-kit'); wp_send_json($response); } $user_id = get_current_user_id(); $compare_products = usk_get_compare_products($user_id); //add remove from compare products if (($key = array_search($_POST['product_id'], $compare_products)) !== false) { $response['action'] = 'removed'; unset($compare_products[$key]); } $compare_products = array_unique($compare_products); // update compare_products $this->ultimate_store_kit_set_compare_products($compare_products, $user_id); // send response $response['status'] = 1; $response['message'] = sprintf(__('compare products item %s!', 'ultimate-store-kit'), $response['action']); wp_send_json($response); } public function ultimate_store_kit_set_compare_products($compare_products, $user_id = 0) { $_compare_products_key = '_ultimate_store_kit_compare_products'; $_compare_products = []; if ($user_id != 0) { update_user_meta($user_id, $_compare_products_key, $compare_products); } else { setcookie($_compare_products_key, serialize($compare_products), time() + MONTH_IN_SECONDS, COOKIEPATH, COOKIE_DOMAIN); } } } new WishlistCompare();