@kentos

Почему не удаляется последний элемент?

Здравствуйте, пишу плагин избранные на WordPress и в связи с этим вопрос, обрабатываю удаления из списка, но когда остается один товар, то он удаляется, но после перезагрузки, снова появляется, вот код:

$this
        .closest("ul")
        .find("li")
        .each(function () {
          wishlist.push($(this).data("product"));

          if (loggedIn) {
            // get user ID
            if (userData["user_id"]) {
              $.ajax({
                type: "POST",
                url: wish.ajaxPost,
                data: {
                  action: "user_wishlist_update",
                  user_id: userData["user_id"],
                  wishlist: wishlist.length !== 0 ? wishlist.join(",") : wishlist.toString(),
                },
              })
                .done(function (response) {
                  console.log(wishlist);
                  $this.closest("ul").removeClass("loading");
                  $this.closest("li").remove();
                  $(".wishlist_count").text(wishlist.length);
                })
                .fail(function (data) {
                  alert(wish.error);
                });
            }
          }


В запросе уходят правилльные данные user: 1, wishlist: айди элемента

А респонс в done пустой

ну и сам экшн
function update_wishlist_ajax()
    {
        if (isset($_POST["user_id"]) && !empty($_POST["user_id"])) {
            $user_id   = $_POST["user_id"];
            $user_obj = get_user_by('id', $user_id);
            if (!is_wp_error($user_obj) && is_object($user_obj)) {
                update_user_meta($user_id, 'wishlist', $_POST["wishlist"]);
            }
        }
        die();
    }
    add_action('admin_post_nopriv_user_wishlist_update', 'update_wishlist_ajax');
    add_action('admin_post_user_wishlist_update', 'update_wishlist_ajax');
  • Вопрос задан
  • 70 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы