En este artículo veremos como enviar un correo a una dirección u otra de acuerdo a las palabras que aparecen en el asunto del formulario de contacto del plugin Contact Forms 7 (CF7).
Resultado Final
Al final queremos que nos llegue el mensaje de contacto a diferentes correos de acuerdo al asunto.
Generalidades
Si tenemos un formulario de contacto posiblemente en ciertos casos nos interese que de acuerdo a lo que se coloca en el campo de texto de asunto nos llegue algún correo a otra dirección.
Asegúrate de tener en tu formulario un campo para el asunto llamado: your-subject.
Código para el envío condicional de correo de acuerdo al asunto
En el siguiente código establecemos algunas palabras clave y si el asunto del formulario las incluye entonces enviamos un correo electrónico a una dirección determinada.
add_filter( 'wpcf7_before_send_mail', 'dcms_change_email_cf7', 10, 3 );
function dcms_change_email_cf7( $contact_form, $abort, $submission ) {
$words = [ "soporte", "ayuda", "problemas", "problema" ];
$subject = $submission->get_posted_data( 'your-subject' );
$email = "ventas@correo.com";
foreach ($words as $word) {
if ( str_contains(strtolower($subject), $word)){
$email = "soporte@correo.com";
break;
}
}
$properties = $contact_form->get_properties();
$properties['mail']['recipient'] = $email;
$contact_form->set_properties($properties);
return $contact_form;
}
En el código anterior:
- Se hace referencia al Hook de filtro de CF7 wpcf7_before_send_mail con la función dcms_change_email_cf7
- Dentro de la función en la variable $words definimos las palabras condicionales para enviar el correo
- Obtenemos el asunto actual del formulario
- Definimos el correo por defecto
- Comprobamos para cada palabra condicional si forma parte del asunto del formulario
- Si forma parte entonces redefinimos el correo al cual se enviará
- Obtenemos las propiedades del formulario y cambiamos el correo de recepción
- Finalmente devolvemos el objeto modificado
Conclusión
Como has podido comprobar, podemos definir una lógica a través de programación antes de enviar el formulario realizado con el plugin CF7.
La entrada Enviar correo de acuerdo al texto del asunto en Contact Forms 7 es un artículo reciente del sitio DecodeCMS.
0 Commentaires