Скрипт который был реализован для одного проекта, в JS отрабатывает скрипт для удаления записей. В окне отображается две кнопки. Так же нужно приметь стили для того что бы не дергался скрол во время отображения попапа:
/* Отменяем скрытие скрола */
body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {
overflow: visible !important;
}
/* Индивидуальные настройки шрифта для тела попапа */
body div div#swal2-content {
line-height: 1.4 !important;
font-size: 1.3em !important;
font-family: 'Open Sans' !important;
font-weight:normal !important;
}
jQuery(document).ready(function($){
$('body div#rcl-office').on("click", "span.publish-close a",function (event) {
// Отменяем повидение при клике по линку по умолчанию
event.preventDefault();
var NamePost = $(this).closest('.rcl-table__row-must-sort').find('[data-rcl-ttitle] a').text();
var ParrentRemov = $(this).closest('.rcl-table__row-must-sort');
var Split = NamePost.split(' ');
var AuthorUser = $('.cab_title h2').text();
var IDUser = $(this).attr('data-this-user-id');
var IDPost = Split[0].replace('#','');
console.log('😎 Текущий пользователь - '+AuthorUser);
console.log('📑😎 ID текущего пользователя - '+IDUser);
console.log('📑 ID поста для удаления - '+IDPost);
// console.log('Клик был');
var data = {
action: 'RemovUserPostsFrontend',
IDUser: IDUser,
IDPost: IDPost,
// AuthorUser: AuthorUser
};
console.log(data);
//////////////////////////////
/// sweetalert2 START
let timerInterval
/////////////////////////////
/// sweetalert2 IF ELSE START
var aJaxRemovTranInvestPostWPRECALL = Swal.mixin({
customClass: {
confirmButton: 'btn btn-success',
cancelButton: 'btn btn-danger'
},
buttonsStyling: false,
showCloseButton: true,
scrollbarPadding: false
})
aJaxRemovTranInvestPostWPRECALL.fire({
title: 'Удаление заявки',
// text: "Серьезно хотите удалить заявку?",
html: "№ заявки - <br><b>\""+NamePost+"\"</b>",
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Да, удалить!',
cancelButtonText: 'Стоп, отмена!',
// reverseButtons: true
showCloseButton: true
}).then((result) => {
if (result.value) {
/////////////////////////////
/// sweetalert2 IF START
$.ajax({
type: "POST", // use $_POST method to submit data
url: '/wp-admin/admin-ajax.php?action=RemovUserPostsFrontend', // where to submit the data
// contentType: false,
// cache:false,
data: {
IDUser : IDUser, // PHP: $_POST['first_name']
IDPost : IDPost, // PHP: $_POST['last_name']
},
success:function(data) {
// Удаляем блок
console.log( data );
ParrentRemov.remove();
//////////////////////////////
/// sweetalert2 START
Swal.fire({
position: 'center',
type: 'success',
title: 'Готово!',
text:'Заявка успешно удалена',
showConfirmButton: false,
scrollbarPadding: false,
timer: 2000
});
/// sweetalert2 END
//////////////////////////////
},
error: function(errorThrown){
//////////////////////////////
/// sweetalert2 START
Swal.fire({
position: 'center',
type: 'error',
title: 'Ошибка',
text:'Что-то пошло не так.',
showConfirmButton: false,
scrollbarPadding: false,
timer: 3000
});
/// sweetalert2 END
//////////////////////////////
}
})
/////////////////////////////
/// sweetalert2 IF END
} else if (
/* Read more about handling dismissals below */
result.dismiss === Swal.DismissReason.cancel
) {
aJaxRemovTranInvestPostWPRECALL.fire(
'Отмена',
'Ваша заявка не удалена',
'error'
)
}
});
});
});
<?php
/** =====================================================================================
* aJax
*/
add_action( 'wp_ajax_RemovUserPostsFrontend', 'RemovUserPostsFrontend_action' );
//add_action( 'wp_ajax_nopriv_RemovUserPostsFrontend', 'RemovUserPostsFrontend_action' );
/**
* Ajax Callback
*/
function RemovUserPostsFrontend_action(){
// $AuthorUser = isset( $_POST['AuthorUser'] ) ? $_POST['AuthorUser'] : 'N/A';
$IDUser = isset( $_POST['IDUser'] ) ? $_POST['IDUser'] : 'N/A';
// $IDUser = (int)$IDUser;
$IDPost = isset( $_POST['IDPost'] ) ? $_POST['IDPost'] : 'N/A';
// Для получение массива от PHP
// $post_data_ajax = [
// "IDUser" => $_POST['IDUser'],
// "IDPost" => $_POST['IDPost']
// ];
// Для получение массива от PHP
// echo json_encode($post_data_ajax);
$Post_data = get_postdata($IDPost);
if ($Post_data['Author_ID'] == $IDUser) {
// // И удаляем пост
wp_delete_post($IDPost, false);
}
// echo '🔴😎😎😎 Ajax сработал | Author_ID - '.$Post_data['Author_ID'].'| $IDUser - '. $IDUser.'| $IDPost - '. $IDPost;
echo 'Запись удалена';
wp_die(); // required. to end AJAX request.
}
/**
* aJax
===================================================================================== */