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
.
x
22
22
1
// Añadir acción para el hook de validación
2
add_action('wpcf7_validate_textarea', 'custom_textarea_validation_filter', 10, 2);
3
4
function custom_textarea_validation_filter($result, $tag) {
5
// Obtener la entrada del formulario
6
$form_input = $_POST[$tag->name];
7
8
// Definir palabras de spam
9
$spam_words = array('spam', 'viagra', 'cialis', 'xanax', 'loan', 'credit', 'claim', 'won', 'selected', 'congratulations');
10
11
// Verificar si alguna palabra de spam existe en la entrada
12
foreach($spam_words as $spam_word) {
13
if(stripos($form_input, $spam_word) !== false) {
14
// Añadir error de validación
15
$result->invalidate($tag, 'Por favor, elimine palabras inapropiadas de su mensaje.');
16
break;
17
}
18
}
19
20
return $result;
21
}
22