WordPress的不同插件来单AJAX操作添加多个回调函数

问题描述:

我是想多了一个回调函数添加到WordPress的阿贾克斯行动WordPress的不同插件来单AJAX操作添加多个回调函数

woocommerce_apply_coupon 

这wp_ajax动作在woocommerce插件定义,我想补充我自己从我的插件文件中对此操作执行回调函数。

我曾尝试 -

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这样做甚至没有表现出任何的错误,就像我不能看到这段代码的任何影响。

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

+0

如何启用Ajaxified优惠券?我似乎无法找到选项。它是由主题提供的吗? – brasofilo

+0

它与主题无关,优惠券通过ajax在结帐页面上应用。看看 – codepixlabs

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

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(使我的回调函数成为最高优先级),它实际上起作用了!

这是未经测试,但我想尝试解决这个问题消除后所有插件加载原来的动作,然后将你的替代品:

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 
} 
+0

我已经解决了这个问题,谢谢你的帮助虽然:)这是优先考虑我! – codepixlabs