Como persona que diseña muchas webs en WordPress, sobre todo para la micro, pequeña y mediana (pero humilde) empresa, estoy acostumbrada a que mis clientes quieran muchas cosas concretas sin tener en cuenta, a menudo, que eso implica invertir dinero en módulos de pago y no están dispuestos a ello. Y este es el caso que nos ocupa hoy.
Hace apenas un mes, un cliente situado en la parte alta de Barcelona, de un sector de los que -yo diría- no suelen sufrir crisis dado a que proveen un producto que responde a necesidades físicas, me pedía que en su página web algo muy lógico: el formulario de contacto (hecho con el célebre plugin Contact Form 7, uno de los más descargados de todo el mercado WordPress) tenía que tener un campo en el que se pudiera elegir si el mensaje iba destinado a su tienda en Barcelona o a su tienda en Terrassa. Según una opción u otra, el destinatario del formulario de contacto debía ser diferente. Es algo que pasa habitualmente; otra posibilidad que requiere de la misma solución sería una empresa que quiera cambiar el destinatario del formulario según el departamento que deba resolver la petición.
Para los que uséis habitualmente WordPress y Contact 7, rápidamente os habréis dado cuenta que eso es una opción que Contact Form 7 no permite por defecto y que quizás muchas veces, cuando se tiene en cuenta desde la primera toma de requerimientos del cliente (esa que la pequeña y micro empresa nunca acaba de cerrar, jejejej), os hace directamente pensar en un plugin de formulario de pago, tipo Gravity Forms.
Sin embargo, estaba frente al problema de tantas otras veces: presupuesto cerrado (e inamovible), un cliente no dispuesto a pagar más por un detalle de este tipo y, como es lógico, un proveedor (osea, yo), que no quiere dejar al ciente descontento por un detalle que, en realidad, es muy pequeño pero tiene una gran importancia (no poder hacerlo implicaba que todos los correos iban a una dirección de correo generalista y, a partir de aquí, una persona manualmente reenviaba los formularios a una u otra tienda)
Dicho y hecho: me puse manos a la obra para descubrir cómo hacer que un campo de contact form 7 mandara el contenido del formulario a un u otro destinatario según la respuesta. Y, la verdad, es algo tan increíblemente fácil que nunca me lo hubiera creído.. hasta probarlo, claro.
En el apartado formulario de Contact Form 7 tenemos que poner lo siguiente (ejemplo del formulario creado):
<label> Nombre (requerido)
[text* your-name] </label>
<label> Su correo electrónico (requerido)
[email* your-email] </label>
<label> ¿Con qué tienda quiere contactar?
[select recipient include_blank «Barcelona|mail1@midominio.com» «Terrassa|mail2@midominio.com»]
</label>
<label> Mensaje
[textarea your-message] </label>
[submit «Enviar»]
Como podéis ver, la parte en negrita que he señalado es la que hace que según se seleccione una opción u otra (Barcelona o Terrassa) el contenido del formulario de Contact Form 7 vaya a un email u otro.
¿Y no hace falta nada más?
Pues sí. Sólo una pequeña cosa más. En el apartado correo electrónico, donde siempre solemos poner la dirección o direcciones de email a las que tiene que llegar el formulario, pondremos simplemente [recipient] y ya os aviso, que como veréis en el pantallazo de ejemplo, os dará un error de sintaxis, pero os garantizo que podéis guardar y funciona perfectamente (¡haced la prueba!).
Antes de terminar este post -que pretendía ser muy breve pero al final veo que no lo ha sido tanto- quiero comentar que antes de poner un título al artículo e intentar posicionarlo de la forma más útil posible, he hecho diversas búsquedas en Google tanteando cómo podía buscar la gente solución a este problema y apenas he encontrado sugerencias, así que espero que sea útil esta ayuda para los que realmente buscan una solución a cómo mandar un formulario de Contact Form 7 a diferentes destinatarios según el contenido / campo seleccionado.