首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在子主题模板中使用AJAX?

如何在子主题模板中使用AJAX?
EN

WordPress Development用户
提问于 2023-03-28 11:54:40
回答 1查看 52关注 0票数 0

我试图在Wordpress中的子主题模板中使用AJAX执行一个操作。我研究过许多类似的问题。但是,我找不到解决办法。我已经处理了大约两个小时了。如果有人能帮忙我会很高兴的。

我已经检查了几次error.log文件。但是,没有问题,我在浏览器控制台中得到了以下错误:

XHRPOSThttps://example.com/wp-admin/admin-ajax.php

...themes/child-theme/process/template.php

代码语言:javascript
复制
    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

代码语言:javascript
复制
'success','message'=>'True'];
    wp_send_json_success($message);
    wp_die();
}
?>
EN

回答 1

WordPress Development用户

发布于 2023-03-28 15:02:08

这与儿童主题无关,问题是:

代码语言:javascript
复制
add_action("wp_ajax_nopriv_x_before_process", "x_before_process");

请注意nopriv,这是用于注销用户的,但是很可能您已经登录了

这需要补充如下:

代码语言:javascript
复制
add_action("wp_ajax_x_before_process", "x_before_process");

请注意,如果使用更现代的AJAX API (如WP REST )构建,这将不会成为一个问题。

票数 0
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/414972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档