Wordpress“admin-ajax.php”404 错误

Men*_*eng 5 php ajax wordpress jquery admin-ajax

我为一家小民宿创建了一个网站,但是发现了一个问题,不知道是依赖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
Run Code Online (Sandbox Code Playgroud)

为了能够暂时解决问题,我只需从仪表板重新安装 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);

        }

    });



});
Run Code Online (Sandbox Code Playgroud)

拜托,我可以请你帮忙吗?不幸的是我不是很技术。

谢谢

Nic*_*ase 1

如果登录后一切正常,这不是代码的直接问题,而是安全问题:当然,/wp-admin/如果未登录,则不允许您调用任何内容(这是后端操作的文件夹),但是你的代码不能很好地处理这个问题。

如果您需要在不登录的情况下运行此程序,则必须在 PHP 代码中完成更多工作。但如果我们看不到该代码,提供帮助就很困难