Los mensajes de spam son un problema común en Contact Form 7. Inundan tu bandeja de entrada con contenido irrelevante, comprometen la seguridad y pueden dañar la credibilidad de tu negocio. Una forma sencilla de combatir esto es añadir un código de validación en PHP.
El fragmento de código a continuación bloquea eficazmente cualquier envío de formulario que incluya las palabras definidas como «spam» en el campo de texto «your-message». Si necesitas añadir o eliminar palabras de la lista de spam, simplemente actualiza el array $spam_words
.
// Añadir acción para el hook de validación add_action('wpcf7_validate_textarea', 'custom_textarea_validation_filter', 10, 2); function custom_textarea_validation_filter($result, $tag) { // Obtener la entrada del formulario $form_input = $_POST[$tag->name]; // Definir palabras de spam $spam_words = array('spam', 'viagra', 'cialis', 'xanax', 'loan', 'credit', 'claim', 'won', 'selected', 'congratulations'); // Verificar si alguna palabra de spam existe en la entrada foreach($spam_words as $spam_word) { if(stripos($form_input, $spam_word) !== false) { // Añadir error de validación $result->invalidate($tag, 'Por favor, elimine palabras inapropiadas de su mensaje.'); break; } } return $result; }