首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >wordpress从不同插件向单个ajax操作添加多个回调函数

wordpress从不同插件向单个ajax操作添加多个回调函数
EN

Stack Overflow用户
提问于 2013-08-22 08:35:11
回答 2查看 3.1K关注 0票数 2

我试图在wordpress ajax操作中再添加一个回调函数

代码语言:javascript
运行
复制
woocommerce_apply_coupon

这个wp_ajax操作是在woocommerce插件中定义的,我想从插件文件中添加自己的回调函数。

我试过的-

代码语言:javascript
运行
复制
add_action( 'wp_ajax_nopriv_woocommerce_apply_coupon','darn',999);
add_action( 'wp_ajax_woocommerce_apply_coupon', 'darn',999);

function darn(){
         print_r($_REQUEST);
         exit;
    }

在我的functions.php中这样做甚至没有显示出任何错误,就像我看不到这段代码的任何效果一样。

想知道这是否有可能实现。谢谢你。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-22 12:47:11

嗯,我想回答我自己的问题,因为似乎没有人回答它。

代码语言:javascript
运行
复制
add_action( 'wp_ajax_nopriv_woocommerce_apply_coupon','darn',1);
add_action( 'wp_ajax_woocommerce_apply_coupon', 'darn',1);

function darn(){
         print_r($_REQUEST);
         exit;
    }

通过将优先级设置为一个(给予我的回调函数最高优先级),它实际上起作用了!

票数 1
EN

Stack Overflow用户

发布于 2013-08-22 12:40:51

这是未经测试的,但在加载所有插件之后,我会尝试解决它删除原始操作,然后添加替代程序:

代码语言:javascript
运行
复制
add_action( 'plugins_loaded', 'b5f_new_ajax_coupon', 15 );

function b5f_new_ajax_coupon() 
{
    remove_action( 'wp_ajax_woocommerce_apply_coupon', 'woocommerce_ajax_apply_coupon' );
    remove_action( 'wp_ajax_nopriv_woocommerce_apply_coupon', 'woocommerce_ajax_apply_coupon' );
    add_action( 'wp_ajax_woocommerce_apply_coupon', 'b5f_ajax_apply_coupon' );
    add_action( 'wp_ajax_nopriv_woocommerce_apply_coupon', 'b5f_ajax_apply_coupon' );
}   

function b5f_ajax_apply_coupon()
{
    // COPY THE ORIGINAL /woocommerce/woocommerce-ajax.php#L57
    // AND ADAPT TO YOUR NEEDS
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18375367

复制
相关文章

相似问题

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