Ошибка кодекса WordPress с запросом JQuery AJAX - PullRequest
0 голосов
/ 11 мая 2019

У меня есть кнопка ссылки на моем веб-сайте, чтобы удалить "Предмет" пользователя.Этот элемент переводится как запись в одной таблице, полностью отдельная таблица и сообщение WP.

Я использую SweetAlert, чтобы получить от пользователя подтверждение на удаление своего элемента.Это подтверждение отправляет запрос AJAX во внешний файл PHP, чтобы удалить запись таблицы, удалить таблицу и удалить сообщение WP, и все это без обновления страницы.

Мой код из внешнего файла PHP работает безупречно, когда явставьте его на страницу моего сайта и опубликуйте на нем переменные, но когда я отправляю значения через запрос AJAX, происходит сбой при удалении WP Post (с помощью wp_delete_post ()) и единственная ошибка, которую я вижу вИнструменты разработчика браузера - это внутренняя ошибка 500.

Вот мой рассматриваемый код.

HTML

<span id="userId" hidden><?php echo $user_id; ?></span>
<span id="Name" hidden><?php echo $name; ?></span>
<span id="blogId" hidden><?php echo $blog_id; ?></span>
<a id="delete" class="btn-cancel" href="">Delete</a>

JQuery /var/www/html/wp-content/themes/custom/js/my.js

(function($){   
 $('document').ready(function(){
  $('#delete').click(function(event){
   event.preventDefault();

   swal ({
     icon: "warning",
     title: "Confirm Delete Request",
     text: "Are you sure you want to delete '" + $('#Name').html() + "'?\nThis action is not reversible and all associated data will be lost!",
     closeOnEsc: false,
     closeOnClickOutside: false,
     showCloseButton: false,
     buttons: {
       cancel: {
         text: "NO, Get me Out",
         value: false,
         visible: true,
       },
       confirm: {
         text: "YES, Delete! ME",
         value: true,
         visible: true,
       }
     },
    })
    .then(function(value) {
    if (value == true){ 
      var data = 'name=' + $('#Name').html() + '&user_id=' + $('#userId').html() + '&blog_id=' + $('#blogId').html();

      $.ajax({
        type: 'POST',
        url: '../wp-content/themes/onepress-child/includes/delete.php',
        data: data,
        dataType: 'json',
        success: function(r) {
          if (r=="2") {
             alert('Deleted');
          } else if (r=="1") {
             alert('Not an Admin');
          } else if (r=="0") {
             alert('Bad Name');
          } else {
             alert('Error');
          }
        }
      });               
    } else {
      window.history.back();
    }
 });            
});

PHP / var / www / html / wp-content / themes / custom/include/delete.php

(я пропустил код MySQL, потому что у меня нет проблем с этим

include_once "../../../../wp-includes/post.php"
if (wp_delete_post($blog_id, true)){
  echo "2"; //Success
}

Кто-нибудь знает, почему функция wp_delete_post ()Ошибка 500 Внутренняя ошибка не дает мне никакой информации для устранения неполадокses.

Я попытался включить исходный файл, как описано в Кодексе WP (include_once "wp-includes / post.php";), но это не проблема.

...