标签: admin-ajax

Wordpress admin-ajax.php 404错误请求

我有一个奇怪和令人沮丧的wordpress admin-ajax.php文件的行为,当我发出ajax请求它返回404错误错误请求.

(function( $ ) {
    var ajaxscript = { ajax_url : 'mydomain.com/wp-admin/admin-ajax.php' }
    $.ajax({
        url : ajaxscript.ajax_url,
        data : {
            action : 'cart_clb',
            id : 1
        },
        method : 'POST',
        success : function( response ){ console.log(response) },
        error : function(error){ console.log(error) }
    })
})(jQuery)
Run Code Online (Sandbox Code Playgroud)

在我的functions.php里面

add_action( 'wp_ajax_post_cart_clb', 'cart_clb' );
add_action( 'wp_ajax_nopriv_post_cart_clb', 'cart_clb' );

function cart_clb(){
    echo json_encode($_POST);
    die();
}
Run Code Online (Sandbox Code Playgroud)

如上所述,当我执行请求时:

mydomain.com/wp-admin/admin-ajax.php 400 (Bad Request)
{readyState: 4, getResponseHeader: ƒ, getAllResponseHeaders: ƒ, setRequestHeader: ƒ, overrideMimeType: ƒ, …}
Run Code Online (Sandbox Code Playgroud)

有人可以帮我取悦吗?谢谢.

ajax wordpress wordpress-theming admin-ajax

5
推荐指数
5
解决办法
3万
查看次数

Wordpress“admin-ajax.php”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
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)

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

谢谢

php ajax wordpress jquery admin-ajax

5
推荐指数
1
解决办法
1万
查看次数

WordPress附件分类复选框组未在网格视图中保存

我创建了一个分类法并将其附加到附件或媒体上.

我正在使用"高级自定义字段"添加分类字段,该字段显示为复选框组.它将字段正确添加到网格和列表视图中的附件页面.

在列表视图中,字段正确更新,但在网格视图中,它仅保存单击的最后一个复选框.这是由某种onclick函数引起的,当单击每个复选框时会激活admin-ajax.因此,它只发送单击框的值.我试图找到一种方法来改变js函数以添加复选框组和多选.

更新:我已将该功能跟踪到一个onchange.

功能:保存

file:media-views.min.js

用于复制问题的代码:

分类:

function cptui_register_my_taxes() {
    $labels = array(
        "name" => __( "Image Tags", "" ),
        "singular_name" => __( "Image Tag", "" ),
    );
    $args = array(
        "label" => __( "Image Tags", "" ),
        "labels" => $labels,
        "public" => true,
        "hierarchical" => false,
        "label" => "Image Tags",
        "show_ui" => true,
        "show_in_menu" => true,
        "show_in_nav_menus" => false,
        "query_var" => true,
        "rewrite" => false,
        "show_admin_column" => false,
        "show_in_rest" => false,
        "rest_base" => "imagetags",
        "show_in_quick_edit" => false,
    ); …
Run Code Online (Sandbox Code Playgroud)

javascript php wordpress admin-ajax

4
推荐指数
1
解决办法
283
查看次数

admin-ajax.php - 阻止 htaccess

如果没有 GET=action 或 POST=action,我需要 htaccess 重写来阻止请求。

如果有人跑

 example.com/wp-admin/admin-ajax.php
Run Code Online (Sandbox Code Playgroud)

然后他会看到错误 404。

我认为这应该可以重写,但我不知道这是如何工作的:

  RewriteRule ^wp-admin/admin-ajax.php$ index.php [L,QSA]
Run Code Online (Sandbox Code Playgroud)

wordpress .htaccess admin-ajax

0
推荐指数
1
解决办法
4708
查看次数