Pregunta:
Tengo un multisitio muy grande. Y recibí una solicitud para habilitar la opción de que varios usuarios pueden usar el mismo correo electrónico. Encontré un complemento "Permitir varias cuentas" que no funciona correctamente. Debería encontrar otra solución para eso. Sé que podría usar algo como agregar + algo de texto a cada correo electrónico, por lo que se verá diferente a WordPress. ¿Tiene alguna otra solución que se pueda hacer aquí?
Respuesta:
Puede utilizar wpmu_validate_user_signup
filtro para eliminar el error y luego definir WP_IMPORTING
simplemente a pasar por el email_exist()
el registro de entrada wp_insert_user()
función:
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;
}
ACTUALIZACIÓN : para una configuración que no sea de varios sitios, pruebe este código:
add_filter('pre_user_email', 'skip_email_exist');
function skip_email_exist($user_email){
define( 'WP_IMPORTING', 'SKIP_EMAIL_EXIST' );
return $user_email;
}