Protegendo o nome de usuários registrados em seu WordPress

Esta modificação em seu WordPress irá checar se o nome ou e-mail usado pelo usuário que comenta sem estar logado é igual ao de algum usuário registrado nele.
Primeiro, teremos a checagem se o autor do comentário está logado. Se não estiver, o nome e email serão comparados com os registrados no banco de dados.  Se for igual, o comentário será bloqueado e uma mensagem escolhida por você será mostrada ao usuário.
Vale lembrar que o script é case-sensitive (Difere maíusculas de minúsculas). Esta modificação foi testada do WordPress 2.2 ao 2.7+

Instruções

1) Abra o arquivo /wp-comments-post.php para edição (um backup antes disso é sempre bem-vindo.. vai que algo dá errado) 2) Ache o seguinte trecho de código:

$comment_author       = trim(strip_tags($_POST['author']));
$comment_author_email = trim($_POST['email']);
$comment_author_url   = trim($_POST['url']);
$comment_content      = trim($_POST['comment']);

3) Depois do trecho acima, adicionem o trecho de código que temos logo abaixo:

// get list of user (display) names for blog
global $wpdb;
$valid_users = (array)$wpdb->get_results("
  SELECT display_name, user_email FROM " . $wpdb->prefix . "users");

// get ID of logged in user (if there is one)
global $userdata;
get_currentuserinfo();
$logged_in_name = $userdata->ID;
$logged_in_email = $userdata->user_email;

// see if the comment author matches an existing author
$found_match = FALSE;
foreach ($valid_users as $va) {

  if (trim($va->display_name) != '') {
    if (strtolower($va->display_name) == strtolower($comment_author)) {
      $found_match = TRUE;
      break;
    }
  }
  if (trim($va->user_email) != '') {
    if (strtolower($va->user_email) == strtolower($comment_author_email)) {
      $found_match = TRUE;
      break;
    }

  }
}

// if commenter is not logged in, but match was found, block the comment
if (trim($logged_in_name) == '') {
  if ($found_match == TRUE) {

wp_die( __('Voce nao pode deixar comentários com o nome ou email de um
 usuário registrado no site.

 Caso seja você mesmo, efetue seu login.') );

  }
}

4) Salve o arquivo e o feche

Notas

Para testar esta modificação, simplesmente se desconecte e tente postar um comentário usando o nome de usuário ou e-mail que você mesmo tem registrado. Se quiser alterar a mensagem exibida, altere o texto entre aspas na seguinte linha:

wp_die( __('Voce nao pode deixar comentários com o nome ou email de um
 usuário registrado no site.

 Caso seja você mesmo, efetue seu login.') );

Posts Similares

  • Como traduzir temas e plugins?

    Quem lida com o WordPress provavelmente já traduziu um tema, simplesmente buscando por strings nos arquivos e substituindo pelo equivalente em português. Isso é simples (até certo ponto) e eficaz, mas o WP oferece um sistema de tradução nativo, baseado no GNU Gettext. Verdade que muitos desenvolvedores não dão a menor bola para isso, mas…

  • Inverta a ordem dos comentários em seu WordPress

    Por padrão o WordPress exibe os comentários na ordem cronológica (mais antigos para os mais novos). Especialmente para blogs com um grande número de comentários, pode ser interessante inverter esta ordem para mostrar os comentários mais novos primeiro. É claro que temos plugins que fazem isso, mas com uma simples edição em seu arquivo comments.php…

  • Elimine ou altere o "\author\" da página de autores no WordPress

    Por padrão o WordPress cria uma URL para cada autor, seguindo a estrutura /author/nome-do-usuario. Alguns podem querer modificar esta palavra author, pois se pensarmos em sites em português a expressão não se encaixa muito bem. Teremos também aqueles que, de acordo com o projeto desenvolvido, poderão querer apagar esta palavra e deixar o site mostrando…

  • O que é e como utilizar o WP CLI

    O WP CLI é uma interface de linha de comando que permite que os usuários gerenciem seus sites WordPress a partir do prompt de comando. Escrito em PHP e sob licença MIT, você pode o utilizar para uma série de tarefas: Upgrades podem ser realizados, backups podem ser gerados, novos posts podem ser publicados e…

  • Como exibir os posts mais populares na barra lateral

    Mais uma dica das mais simples e eficazes. Apenas coloque o seguinte código no seu sidebar.php. Para alterar o número de posts exibidos, apenas altere 5 (depois da vírgula, o último número) na terceira linha. A popularidade será medida pelo número de comentários na postagem <h2>Posts mais Populares</h2><ul> <?php $result = $wpdb->get_results(“SELECT comment_count,ID,post_title FROM $wpdb->posts…

  • Otimizando seu blog WordPress para os buscadores

    Os buscadores atualmente dispõe de meios para encontrar e classificar quase tudo que há na rede, mas se você contar apenas com isso, vai aproveitar bem pouco desse enorme tráfego gerado a partir de buscas dos internautas. Mas o que se pode fazer para melhorar a colocação de seu blog nas buscas? Bem, há algumas…

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

3 Comentários