Tag Archives: PHP

WordPress – Adicionando o CAPTCHA em comentários de temas não suportados

CAPTCHA
CAPTCHA

O WordPress parece ter virado uma unanimidade para criação de sites hoje em dia. Não é por menos, dada a quantidade de opções de temas, plugins e também o que ele traz por si só na instalação limpa, fora a comunidade de apoio.

Como todo framework muito usado, ele também têm seus problemas, principalmente na incompatibilidade de plugins. Um dos mais usados hoje em dia para evitar invasão ou comentários mal desejados é o plugin CAPTCHA. Básico, ele adiciona em todos os forms do seu WordPress (login, comentários, contato, etc) um teste do tipo CAPTCHA, mas daquele baseado em texto no qual você precisa resolver uma conta ou algo do tipo. É perfeito e garante acessibilidade e segurança para seu blog em WordPress, bastando que você o deixe bem configurado.

Mas, a depender do tema que você utilizar, o plugin não funcionará corretamente. No meu caso, tive que usar o tema Compositio e este, não dá suporte a função padrão do WordPress que adicionaria o CAPTCHA ao formulário de comentários padrão. Por isso, ou você desativa o CAPTCHA para os comentários, o que é desagradável dada a quantidade de bots para WordPress espalhados pela internet, ou, é preciso colocar o código na mão.

No caso do tema referido, bastou que editasse o arquivo comments.php do tema, inserindo a seguinte linha antes do submit do formulário do comentário:

<p>
<?php if( function_exists( 'cptch_check_custom_form' ) && cptch_check_custom_form() !== true ) echo "Para comentar corretamente, resolva o enigma a seguir: " ?>
<?php if( function_exists( 'cptch_display_captcha_custom' ) ) { echo "<input type='hidden' name='cntctfrm_contact_action' value='true' />"; echo cptch_display_captcha_custom(); } ?>
</p>

Com isso, o formulário de CAPTCHA passa a aparecer e validar corretamente. A dica por ser vista no próprio FAQ do plugin:

http://wordpress.org/extend/plugins/captcha/faq/

O resultado fica assim:

CAPTCHA no Comentário do Tema Compositio
CAPTCHA no Comentário do Tema Compositio

Bom proveito!