jquery — WordPress & quot; admin-ajax.php & quot; Ошибка 404

Я создал веб-сайт для небольшого отеля типа «постель и завтрак», но обнаружил проблему, которую не понимаю, зависит ли это от WordPress или сервера.

Этот сайт использует всплывающую анимацию, чтобы показать описание комнаты. Проблема в том, что это всплывающее окно перестало работать на прошлой неделе. Из консоли браузера я заметил, что все зависит от ошибки 404 (admin-ajax.php не найден). Вот это деталь:

jquery.js?ver=1.12.4:4 POST http://lettoacastello.net/wp-admin/admin-ajax.php 404 (Not Found)
send @ jquery.js?ver=1.12.4:4
ajax @ jquery.js?ver=1.12.4:4
(anonymous) @ script.js?ver=4.9.1:207
dispatch @ jquery.js?ver=1.12.4:3
r.handle @ jquery.js?ver=1.12.4:3

Чтобы иметь возможность временно решить проблему, я просто переустановите WordPress с приборной панели. Проблема не возникает снова целый день, все работает отлично! Но на следующий день все начинается снова, и проблема снова возникает (этот цикл продолжается каждый день). По этой причине я не понимаю, если это проблема с сервером или нет.

Последняя очень важная вещь. Всплывающее окно имеет нет проблем, если я вошел в админ панель WordPress (браузер распознает файл «admin-ajax.php»).

Код был написан не мной (разработчик говорит, что проблема от него не зависит).

Тем не менее, я считаю, что это часть кода, которая контролирует всплывающие окна комнаты:

jQuery(document).ready(function($){

$('.special-room button.btn, .rooms-sec button.btn').live('click', function(e){

e.preventDefault();

$('#room.modal').html('');

var thislink = this;

var page_id = $(this).data('id');$.ajax({

url: ajaxurl,

method: 'POST',

data: 'action=_sh_ajax_callback&subaction=sh_room_detail&post_id='+page_id,

success: function(res){

$('#room.modal').html(res);

}

});});

Пожалуйста, могу я попросить вас о помощи? К сожалению, я не очень техничен.

Спасибо

1

Решение

Я убираю это из вашего комментария:

Спасибо @NicoHaase и @LawrenceCherone! Немного поработав с файлом admin-ajax.php, я нашел строку, которая вызывает проблему. Если я удаляю его, все работает правильно до следующего дня, когда строка автоматически воссоздается.

Проблема в том, что ваш сайт взломан, а скрипт / программное обеспечение внедряет ваш сайт с этим кодом.

1

Другие решения

Если все работает, когда вы вошли в систему, это не прямая проблема вашего кода, а проблема безопасности: конечно, вы не можете вызывать какие-либо вещи в /wp-admin/ (это папка для внутренних действий), если вы не вошли в систему, но ваш код не очень хорошо с этим справляется.

Если вам нужно запустить это без входа в систему, нужно проделать дополнительную работу в PHP-коде. Но помочь сложно, если мы не можем увидеть этот код

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector