Como desabilitar códigos HTML em comentários no WordPress.org

Siga o Ferramentas Blog: Canal no Youtube | Facebook | Twitter | Google+

A grande maioria dos modelos de formulários para layouts do WordPress.org permitem que as pessoas comentem nos posts deixando códigos HTML para destacar trechos ou inserir links (em grande parte são tentativas de SPAM). Você pode desabilitar essa função com um código simples que exibir os comentários na forma como foram escritos, sem interpretar os códigos.

 

Lidar do os comentários recebidos em seu blog é uma tarefa complicada, sem contar que algumas pessoas abusam de nossa "hospitalidade" para se promoverem. Dependendo do modelo de layout de seu blog, pode não ser interessante que as pessoas possam editar os comentários usando códigos HTML. Então descobri um código bem simples para tal.

 

Esse código só funciona para blogs no WordPress.org (com domínio e hospedagem próprios).

 

Abra o painel de controle de seu blog no WordPress e clique no menu “Aparência” ~> “Editor” e abra o arquivo “Funções do tema (functions.php)” como mostra a imagem:

 

editar-tema-wp-functions2

 

Então cole onde for melhor o seguinte trecho de código:

 

// This will occur when the comment is posted
function plc_comment_post( $incoming_comment ) {

    // convert everything in a comment to display literally
    $incoming_comment[‘comment_content’] = htmlspecialchars($incoming_comment[‘comment_content’]);

    // the one exception is single quotes, which cannot be #039; because WordPress marks it as spam
    $incoming_comment[‘comment_content’] = str_replace( "’", ‘'’, $incoming_comment[‘comment_content’] );

    return( $incoming_comment );
}

// This will occur before a comment is displayed
function plc_comment_display( $comment_to_display ) {

    // Put the single quotes back in
    $comment_to_display = str_replace( ‘'’, "’", $comment_to_display );

    return $comment_to_display;
}

add_filter( ‘preprocess_comment’, ‘plc_comment_post’, ”, 1);
add_filter( ‘comment_text’, ‘plc_comment_display’, ”, 1);
add_filter( ‘comment_text_rss’, ‘plc_comment_display’, ”, 1);
add_filter( ‘comment_excerpt’, ‘plc_comment_display’, ”, 1);

 

Isso não altera em nada o funcionamento dos comentários e é uma função que filtra alguns tipos de caracteres usados em códigos HTML, desabilitando-os e lendo-os de forma literal, tal qual são escritos.

 

Outra vantagem desse código é o você, enquanto administrador do blog, pode continuar usando código HTML nos seus comentários quando for conveniente. Apenas as outras pessoas é que serão filtradas. Isso é uma grande ajuda no combate aos SPAMs.

 

Outros posts e códigos interessantes para WordPress.org:

 

Fonte: Peter’s Useful Crap – How to disable HTML in WordPress comments.

4 Comentários

  1. Pingback: Como exibir backlinks (pingbacks e trackbacks) no WordPress.org | [ Ferramentas Blog ]

  2. bom dia marcos
    foi ótimo esse seu posrt desativei o formulario de comentário do meu tema, e precisava de uma ajuda sua, no meu tema ainda ficou uma opção, uma barra logo abaixo do menu das páginas, com a palavra edit e um balão para acessar os comentários, como posso desativar essa barra tbem? obrigado

    Responder

    • @Marcio
      Essa opção só aparece para você que é o dono do blog. Quando você está logado em sua conta, consegue ver essas opções de edição e acesso, mas o visitante comum não vê isso.

      Responder

  3. Pingback: A nova barra de administração do WordPress 3.1 – Esconder e exibir | [ Ferramentas Blog ]

Deixe um comentário

Ao comentar você concorda com nossa Política de Comentários.