Здравствуйте, пишу плагин избранные на 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');