Woocommerce - remove_action不起作用

时间:2014-09-03 22:27:06

标签: wordpress woocommerce

我正在尝试修改Woocommerce中wc_create_new_customer的功能,我已将其添加到我的functions.php文件中......

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已经被删除了。如何修改此功能?

2 个答案:

答案 0 :(得分:1)

更改自定义wc_create_new_customer的名称(至my_wc_create_new_customer或类似名称),并在通话add_action中使用该名称。

更新

您希望使用某个操作来使某个自定义函数在特定事件发生时运行,而不是修改核心函数。创建新客户时,WooCommerce会触发woocommerce_created_customer事件,因此您可以挂钩该操作以使代码运行:

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
}

答案 1 :(得分:1)

我想知道对此的修复,尝试将标准用户角色从客户更改为自定义角色。这似乎是我改变它的唯一方法。

然而,上面的“修复”并不好,因为它没有采用新功能。