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;
}



