更精确的问题:如何覆盖email_exists
通过get_user_by
?
我已选择从数据库中呈现不可用/不可读的电子邮件地址。
在向管理员和用户(用户注册)发送电子邮件后,我向电子邮件地址添加了一些元素(字符),然后我必须删除这些添加的元素,以验证电子邮件是否存在,是否显示在用户帐户上,是否用于邮件列表。
要解密电子邮件,我必须使用substr
关联值的位置$email
字段get_user_by
删除之前添加的元素。我读到了email_exists
使用get_user_by
这是一个可插入功能。但我不知道如何使用get_user_by
在…内email_exists
.
有可能吗?我该怎么办?
function get_user_by( $field, $db_email ) {
$field = \'email\';
//function to decrypt my email from database
$ex = preg_split(\'\\\'@\\\'\', $nr , -1);
$dem = substr(substr($ex[0],2),0,-2);
$rdem = substr($dem,0,2).substr($dem,2+1,strlen($dem)-2);
$db_email = $rdem. \'@\' .$ex[1];
$userdata = WP_User::get_data_by( \'email\', $db_email );
if ( ! $userdata ) {
return false;
}
$user = new WP_User;
$user->init( $userdata );
return $user;
}
function email_exists( $email ) {
$user = get_user_by( $field, $db_email );
if ( $user ) {
$user_id = $user->ID;
} else {
$user_id = false;
}
return apply_filters( \'email_exists\', $user_id, $email );
}
if (email_exists($email)){
lq_errors()->add("emailexists","This email address already exist");
}