SPAM en elementor

SPAM en elementor

Cómo podemos evitar tanto spam en los formularios de elementor, ya conocemos el Captcha y el honeypot, incluso en campo numérico de suma.
Hoy os traigo una función básica que evita en gran medida el envió de spam mediante los formularios de elementor.

  // Permite el procesamiento solo para un formulario específico de Elementor
      add_filter('elementor_pro/forms/new_record', function($record, $handler) {
  // Reemplaza 'nombre_del_formulario' con el nombre real de tu formulario en Elementor
      $nombre_del_formulario = 'nombre_del_formulario';

  // Verifica si el formulario actual tiene el nombre esperado
      if ($handler->get_name() === $nombre_del_formulario) {
   // Reemplaza 'campo_oculto' con el nombre real de tu campo oculto
        $campo_oculto = 'campo_oculto';

   // Verifica si el campo oculto está vacío
        if (empty($_POST[$campo_oculto])) {
            return $record;
        }

  // Si el campo oculto está lleno, no detengas el procesamiento del formulario
        return null;
    }

    // Permite el procesamiento predeterminado para otros formularios
    return $record;
}, 10, 2);

Como podréis apreciar, este script genera un campo oculto que si se rellena corta la instrucción de envió en la función de elementor y evita la propagación de mail spam.

Eso esto, espero haber sido de inspiración para otros proyectos.