WPtouch y antispam por campo oculto

En los blogs y en cualquier web que permita dejar comentarios, uno de los problemas que tenemos siempre es el spam. Cada uno buscamos la mejor manera de lidiarlo con captchas, plugins… en mi caso opté por un remedio “casero” que encontré en Sigt y del que ya os hablé una vez: el sistema antispam del campo oculto. Técnicamente no es muy complicado de implementar (si no te paraliza el tener que tocar un php) y su efectividad es pasmosa, yo al cabo de un año recibo menos comentarios spam que otros blogs de un nivel similar en un día. Por si acaso también tengo una segunda barrera con el plugin akismet pero pocas veces ha tenido que actuar (menos de 200 comentarios spam en más de 2 años).

Otra adaptación que es muy conveniente hacer en cualquier web en el año 2011 es tener una versión para móviles: cuando detectamos que el visitante está utilizando un dispositivo móvil le presentamos un diseño adaptado para estos dispositivos, en general con un contenido algo más ligero para facilitar la velocidad de carga y la navegación por el sitio. En wordpress tenemos un plugin que hace ese trabajo por nosotros wptouch, con solo activar el plugin ya tenemos nuestra versión móvil disponible.

Y en la intersección de WPtouch y sistema antispam del campo oculto es donde he detectado un problema: los visitantes con dispositivos móviles no pueden dejar comentarios

Una de las cosas que hacemos al implementar el antispam es modificar el comments.php de nuestro theme y una de las cosas que utiliza wptouch es aplicar su propio theme (con su comments) cuando el visitante llega con un móvil, por lo que hay que modificar el comments.php que viene incluido dentro del plugin.

Lo primero es localizar ese archivo dentro de la carpeta del plugin. Lo encontraréis en

/wptouch/themes/default

Lo abrimos con un edito y buscamos el código correspondiente al formulario para dejar comentarios. Allí hacemos la siguiente sustitución:
las dos líneas donde pone

[php]

[/php]
las sustituimos por las tres líneas siguientes:
[php]

<input id="nombre" name="nombre" size="22" type="text" value="” tabindex=”2″ />

[/php]
Y listo.
El único inconveniente: cada vez que se actualice el wptouch tendremos que comprobar manualmente si esa modificación afecta o no al archivo comments.php y en caso de llegar modificado volver a hacer las adaptaciones
Nota: Si queréis ser más ortodoxos, en lugar de ese feo style=”display:none” podéis poner un class={hid} y en el archivo CSS del plugin definir esa clase hid con el atributo display=none, pero por lo que he comentado de las actualizaciones del plugin yo he preferido no hacerlo

Anuncios