我试图在Wordpress中的子主题模板中使用AJAX执行一个操作。我研究过许多类似的问题。但是,我找不到解决办法。我已经处理了大约两个小时了。如果有人能帮忙我会很高兴的。
我已经检查了几次error.log文件。但是,没有问题,我在浏览器控制台中得到了以下错误:
XHRPOSThttps://example.com/wp-admin/admin-ajax.php
...themes/child-theme/process/template.php
Continue
function continue_process() {
var ajax_nonce = '<?php echo wp_create_nonce( "before_process_nonce" ); ?>';
var ajax_url = '<?php echo admin_url( "admin-ajax.php" ); ?>';
jQuery.ajax({
url : ajax_url, /* WordPress AJAX endpoint.*/
method : 'post',
data : {
'action' :'x_before_process',
'security' :ajax_nonce
},
success : function( response ) {
/* Get AJAX data from */
const obj = JSON.parse(response);
console.log(obj.message);
},
error : function( err ) {
/*Error */
console.log(err)
}
});
}...themes/child-theme/process/process-ajax.php
'success','message'=>'True'];
wp_send_json_success($message);
wp_die();
}
?>发布于 2023-03-28 15:02:08
这与儿童主题无关,问题是:
add_action("wp_ajax_nopriv_x_before_process", "x_before_process");请注意nopriv,这是用于注销用户的,但是很可能您已经登录了
这需要补充如下:
add_action("wp_ajax_x_before_process", "x_before_process");请注意,如果使用更现代的AJAX API (如WP REST )构建,这将不会成为一个问题。
https://wordpress.stackexchange.com/questions/414972
复制相似问题