Мои пользователи имеют возможность создавать экземпляры пользовательских сообщений из своих учетных записей, и тогда я бы хотел, чтобы они также могли их удалять.В разделе своего аккаунта перечислены все опубликованные ими сообщения, и у каждого есть кнопка «Удалить», например:
<a href="#" class="deleteMR" data-id="<?php echo $post->ID ?>">delete</a>
Затем во внешнем файле JS у меня есть:
jQuery(".deleteMR").click(function (e) {
e.preventDefault();
rid = $(this).attr("data-id");
var data = {
action: 'delete_request',
requestid: rid,
}
jQuery.post(my_ajax_object.ajaxurl, data, function(response) {
if(response.success) {
alert('It worked');
} else {
alert('It failed');
}
});
});
И затем в моем functions.php у меня есть:
add_action('wp_ajax_delete_request', 'delete_request');
function delete_request() {
$requestid = $_REQUEST['requestid'];
wp_trash_post(requestid);
wp_send_json_success(true);
wp_send_json_error(console.log(response));
}
Когда кнопка нажата, JavaScript корректно срабатывает (и я проверил, как она выбирает правильный идентификатор сообщенияпри использовании console.log) функция в functions.php по крайней мере подтверждается, но возвращение всегда «не выполняется», и сообщение не удаляется.Если вместо этого я вывожу $response
, я просто получаю первые 10% кода страницы, с которой все это происходит.
Я не могу понять, что я делаю неправильно, кто-нибудь может помочь?Спасибо.