我正在开发一个插件来检查电子邮件/用户名是否经过验证。
我需要通过我的插件覆盖或替换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);