删除WooCommerce Process登录操作


Remove WooCommerce Process Login action

我正在开发一个插件来检查电子邮件/用户名是否经过验证。

我需要通过我的插件覆盖或替换woocommerce的includes/class-wc-form-handler.php文件中的process_login动作。

我已经为登录创建了自定义函数。但在此之前,我想删除process_login功能。

我试过这个代码:

add_action( 'init', 'remove_default_login_process' );
function remove_default_login_process(){
    if ( class_exists('WC_Form_Handler') ) {    
     remove_action('wp_loaded',array('WC_Form_Handler','process_login',20));
    }
}
add_action('wp_loaded','my_custom_login_process',20);
function my_custom_login_process(){
    //Code for Login and verify email
}

尝试添加具有更高优先级的自定义操作来覆盖WC_Form_Handler

add_action('wp_loaded','my_custom_login_process',10);

remove_action函数中有一个小的变化使它工作。优先级/20后的第一个右括号应该放在20之前。

remove_action('wp_loaded', array(WC_Form_Handler,'process_login'), 20);