2014-09-03 42 views
0

我想修改函数在Woocommerce wc_create_new_customer,我已经加入这个我functions.php文件...Woocommerce - remove_action不工作

remove_action('init', 'wc_create_new_customer'); 
add_action('init', 'wc_create_new_customer'); 

function wc_create_new_customer($email, $username = '', $password = '') { 
// My custom function 
} 

这显然给了我一个错误wc_create_new_customer有已经被挖空了。我怎样才能修改这个工作?

回答

1

更改您定制的wc_create_new_customer的名称(至my_wc_create_new_customer或类似名称),并在您致电add_action时使用该名称。

更新:

而不是修改核心功能,你想用一个动作在某个时候某个事件发生时,使自定义函数运行。该woocommerce_created_customer活动由WooCommerce创建一个新的客户时触发的,所以你可以连接到该行动,使你的代码运行:

add_action('woocommerce_created_customer', 'do_things_on_customer_create', 10, 3); 

function do_things_on_customer_create($customer_id, $customer_data, $password_generated) { 
    // My custom function 
} 
+0

这没什么区别,原来的wc_create_new_customer函数仍然被调用而不是我的新版本。我怀疑init标签可能不正确 – fightstarr20 2014-09-03 22:43:27

+0

对不起,我错过了你实际想要做的事情。看修改后的答案! – gregdev 2014-09-03 23:29:38

+0

但是那么原来的wc_create_new_customer代码也不会运行? – fightstarr20 2014-09-04 09:16:27

1

我想知道这个修复,试图改变标准用户角色从客户到定制客户。这似乎是我可以改变它的唯一方法。

但是,上面的“修复”并不好,因为它不采用新功能。