Hay situaciones en que no vas a querer que desde algún formulario concreto creado con el plugin Contact Form 7 se puedan realizar envíos ilimitados, sino controlarlo de algún modo, ponerle un límite de envíos a algún formulario.
¿Por qué querría limitar los envíos de formularios?
Hay varios motivos, en realidad muchos, por los que podrías querer limitar el envío de algún formulario, como por ejemplo:
- Limitar el número total de envíos de formularios permitidos – ideal para formularios de reservas o concursos/regalos.
- Restringir el envío de formularios por fecha límite – ideal para formularios de becas, confirmaciones de asistencia a eventos, formularios de solicitud de empleo, etc.
- Restringir los envíos de formularios sólo a los usuarios registrados – ideal para aquellos que tengan un sitio de membresía o una tienda en línea.
- Limitar a un envío de formulario de WordPress por persona – realmente útil cuando se crea un formulario de comentarios para asegurar que no se envíen comentarios duplicados.
- Limitar envíos de formularios de WordPress por verificación de edad – muy útil cuando se necesita cumplir con las leyes locales.
- Restringir envíos de formularios de WordPress por ubicación del usuario o dirección IP – ideal para bloquear regiones específicas o evitar el spam.
Como ves, pueden ser muchos los motivos para limitar el envío de algún formulario concreto, y muy interesantes en según qué ocasiones y para algunas necesidades concretas.
¿Por qué Contact Form 7?
Pues ya sabrás que es mi plugin de formularios favoritos por muchos motivos:
- Es totalmente gratuito.
- Es ligero y fácil de usar ( shortcode, bloque, integración en el tema, etc.)
- Es fácilmente personalizable mediante HTML, CSS y otros plugins.
- Es muy ampliable mediante otros plugins que le añaden funcionalidades.
Hay otros plugins que ofrecen la funcionalidad de límite de envío de formularios pero son plugins de pago, que además requieren una extensión adicional también de pago, y mira, pudiendo hacer algo gratis y bien, no tiene sentido pagar por ello ¿no crees?
Cómo limitar el envío de formularios en WordPress
Una vez nos hemos decidido (bueno, yo) por el plugin perfecto para formularios de contacto, queda ver cómo hacer para poder limitar el envío de formularios, porque en principio Contact Form 7 tiene una limitación para poder hacer esto, y es que por defecto no almacena los formularios en la base de datos así que ¿cómo saber si se ha superado cualquier límite si no hay registro alguno?
Bueno, la solución está en usar plugins que complementen esta carencia y añadan la funcionalidad de límite de envío de formularios, y te propongo 2 posibles.
CF7 Form Submission Limit
Este plugin está especialmente diseñado para cumplir esta necesidad, y lo mejor de todo es que es totalmente gratis y no requiere que instales ningún otro plugin adicional además de Contact Form 7, pues ya cumple con las 2 necesidades básicas para esta necesidad: almacenar formularios y ofrecer opciones de límites.
Su funcionamiento es muy sencillo. Una vez lo instales como cualquier otro plugin WordPress, al editar cualquier formulario de Contact Form 7 encontrarás una nueva pestaña para configurar el límite de envíos.
Los límites que puedes configurar con este plugin son los siguientes:
- Establecer un máximo de envíos totales, independientemente de los usuarios
- Establecer un máximo de envíos totales por usuario.
- Puedes establecer una fecha de inicio del límite de envíos
- Puedes establecer que el límite de envíos se restablezca a cero automáticamente cada x días/semanas/meses/años.
Cuando termines de configurar el límite de envíos tienes que añadir a la plantilla del formulario la etiqueta que se muestra al principio de esta página de ajustes, que será del tipo [counter formid:117719]
. Puedes ponerlo en cualquier parte pero el lugar más adecuado en la plantilla sería antes del botón de enviar.
Si tienes alguna duda en este vídeo explican cómo añadirlo…
Además, puedes especificar qué pasará tras el envío de un formulario:
- Recargar la página
- Redirección a otra página
Muy completo, sencillo de usar, y funciona perfectamente.
Contact form 7 submission limit + CFDB
Para esta segunda opción tenemos que añadir 2 plugins a nuestra instalación, ambos en Github, además de tener ya Contact Form 7, lógicamente, estos:
Una vez descargados ambos zip e instalados manualmente en WordPress, puedes empezar a crear reglas simples de límite de envíos a cada formulario en la página de administración «Herramientas → Contact-Form7 Submmition Limit»
Simplemente pulsa en el botón «Add» y a continuación:
- Elige el formulario al que se aplicarán límites
- Sustituye del límite de -1 (sin límites) por la cantidad de envíos permitidos
- Escribe un texto (HTML admitido) que sustituirá al formulario cuando se alcance el límite establecido.
Ya solo tienes que guardar los ajustes y seguir añadiendo reglas a ese u otros formularios.
El plugin CFDB solo sirve para almacenar los registros, no hay nada que configurar.
¿Qué plugin es mejor para limitar envíos de formularios de Contact Form 7?
Claramente el primero, CF Form Submission Limit, pues además de no necesitar de más plugins, permite más opciones de limitación de envíos, que seguramente te serán útiles en más de una ocasión.
La entrada Cómo limitar los envíos de formularios con Contact Form 7 la publicó primero Fernando Tellado en Ayuda WordPress. No copies contenido, no dice nada bueno de ti a tus lectores.
0 Commentaires