Ticker

6/recent/ticker-posts

Ad Code

Responsive Advertisement

Enviar correo de acuerdo al texto del asunto en Contact Forms 7

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.

Envio de correo 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.

Formulario por defecto CF7

 

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.

Puedes agregar este código como parte del archivo functions.php de tu tema hijo o usando algún plugin de Snippets.
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.

Enregistrer un commentaire

0 Commentaires