我是否可以在通过wp_ajax接收数据的函数中触发一个Add_action挂钩?

时间:2016-09-23 作者:friendlyfire

我试图通过wp\\U ajax将数据从js发送到php函数。所有数据都被正确发送,因为我可以回显它。

但是,现在我需要将结果传递给另一个add\\u操作挂钩。最好的方法是什么?我正在做的事情不起作用。

以下是我目前掌握的情况:

我的ajax发送:

           jQuery.ajax({
                type: \'post\',
                url: customizerValues.ajax_url,
                data: {
                    action: \'ar_update_plan\',
                    nonce: wpApiSettings.nonce,
                    plan_id: planId,
                    blog_id: site_id,

                },
                success: function(response) {
                    console.log(response);
                }
            });
我的php函数

add_action( \'wp_ajax_ar_update_plan\', \'ar_update_plan\' );

function ar_update_plan($blog_id, $new_expire, $level){

    if( isset($_REQUEST[\'blog_id\'])) {

        $blog_id = $_REQUEST[\'blog_id\'];

        if( isset($_REQUEST[\'plan_id\'])) {
            $level = $_REQUEST[\'plan_id\'];

             // THE HOOK I NEED TO PASS THE RESULTS TO
             add_action(\'psts_extend\', $blog_id, $new_expire, $new_plan_id);
            // just making sure the ajax data came through
             echo $_REQUEST[\'plan_id\'];
            wp_die(); // ajax call must die to avoid trailing 0 in your response 
        }
    }
}

1 个回复
最合适的回答,由SO网友:hakre 整理而成

我想你在这里有一个小误会(只是有点不一致)add_action 如果要注册一个钩子名称的回调,实际上您想要启动该钩子(而不是注册它)。

你可以用do_action 作用

的Codex页add_action 功能概述了以下两个方面:

自然do_action Codex页面包含所有荣耀细节:

相关推荐

尝试在WordPress中实现AJAX注释,遇到WP错误

我试图在WordPress中为我的评论实现Ajax,使用this tutorial. 但我在将教程中的代码集成到自己的预构建主题时遇到了问题。问题是,我要么得到一个WP错误“检测到重复注释;看来你已经说过了!”或标准500错误。以下是我得到的:下面是我对ajax的评论。js文件如下所示: * Let\'s begin with validation functions */ jQuery.extend(jQuery.fn, { /* * check i