问题描述
我有一个非常大的多点。我有一个请求来启用多个用户可以使用相同电子邮件的选项。我发现一个插件 “允许多个帐户” 无法正常工作。我应该找出一些其他解决方案。我知道我可以使用像每个电子邮件一样添加+ sometext,所以它会显示与 WordPress 不同。你有其他解决方案吗?
最佳解决方案
您可以使用 wpmu_validate_user_signup
过滤器来删除错误,然后定义 WP_IMPORTING
,以跳过 email_exist()
wp_insert_user()
功能中的 email_exist()
检查:
add_filter('wpmu_validate_user_signup', 'skip_email_exist');
function skip_email_exist($result){
if(isset($result['errors']->errors['user_email']) && ($key = array_search(__('Sorry, that email address is already used!'), $result['errors']->errors['user_email'])) !== false) {
unset($result['errors']->errors['user_email'][$key]);
if (empty($result['errors']->errors['user_email'])) unset($result['errors']->errors['user_email']);
}
define( 'WP_IMPORTING', 'SKIP_EMAIL_EXIST' );
return $result;
}
更新:对于非 Multi-site 设置,请尝试以下代码:
add_filter('pre_user_email', 'skip_email_exist');
function skip_email_exist($user_email){
define( 'WP_IMPORTING', 'SKIP_EMAIL_EXIST' );
return $user_email;
}
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。