Aveces nos pueden pedir que los leads que lleguen de los formularios sean solo corporativos, por ende lo mejor es bloquear aquellos correos que vengan de gmail, outlook, etc.
Lo que debemos hacer es en el functions.php o en codesnippet escribir el siguiente código:
//Hook para evitar correos que no son corporativos ecommerce UwU
add_action( ‘elementor_pro/forms/validation/email’, function( $field, $record, $ajax_handler ) {
// for specific post:
global $post;
if( $post->ID) {
$black_list_domains = [
‘gmail.com’,
‘gmail.co’,
‘gmil.com’,
‘gmil.co’,
‘outlook.com’,
‘hotmail.com’,
‘hotmail.co’,
‘hotmail.es’,
‘yahoo.com’,
‘yahoo.es’,
‘mail.com’,
‘mail.co’,
‘HOTMAIL.COM’,
‘HOTMAIL.CO’,
‘HOTMAIL.ES’,
‘aol.com’,
‘AOL.COM’,
‘hotmail.con’,
];
$email_domain = explode( ‘@’, $field[‘value’] )[1];
if ( in_array( $email_domain, $black_list_domains ) ) {
$ajax_handler->add_error( $field[‘id’], ‘Lo sentimos, correos como ‘ . $email_domain . ‘ No están permitidos, intenta usar tu correo corporativo.’ );
return;
}
}
}, 10, 3 );
Este código les va a funcionar para todos los formularios que creen con elementor
Espero les sirva
2 comentarios
Hola gracias por tu aporte y si necesito bloquear esos dominios en una página especifica de mi web? osea en el resto si quiero recibir dominios que no sean corporativos
puedes poner esto teniendo en cuenta el ID de tu página y donde tengas el formulario:
add_action( ‘elementor_pro/forms/validation/email’, function( $field, $record, $ajax_handler ) {
// for specific post:
global $post;
if( $post->ID == 6025) {
$black_list_domains = [
‘gmail.com’,
‘gmail.co’,
‘gmil.co’,
‘hotmail.co’,
‘gmil.com’,
‘outlook.com’,
‘hotmail.com’,
‘hotmail.co’,
‘hotmail.es’,
‘yahoo.com’,
‘yahoo.es’,
‘mail.com’,
‘mail.co’,
];