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

  • Evitando SPAM nos comentários de seu blog WordPress usando Captcha

    Evitando SPAM nos comentários de seu blog WordPress usando Captcha

    Receber spam nos Comentários de um site WordPress podem virar algo que te dá muito trabalho se você não aprender a se previnir contra eles. Ao invés de desativar os comentários, você pode adicionar o reCAPTCHA ao formulário de comentários para eliminar (ou ao menos diminuir drasticamente) os spams em seu site. Ativando o Akismet…

  • WordPress filters – Lista completa de filtros!

    WordPress filters – Lista completa de filtros!

    Esta lista de dicas explora um conceito fundamental no desenvolvimento do WordPress: filtros! No WordPress, os filtros permitem que os desenvolvedores interceptem e modifiquem dados à medida que uma página do WordPress está sendo carregada, antes de enviá-los ao navegador ou salvá-los no banco de dados. Você pode ler mais sobre filtros neste artigo em…

  • Como encontrar o ID de suas páginas?

    Você precisa encontrar um ID de página ou post do WordPress, mas não sabe onde estão? Neste artigo você aprenderá um método fácil para visualizar IDs de páginas e postagens no painel do WordPress – sem usar plugins ou qualquer outro recurso adicional. O que são IDs de páginas e posts do WordPress? Cada conteúdo…

  • Exibindo a quantidade de comentários do Facebook em seu post

    ATENÇÃO: A API do Facebook foi alterada em Agosto de 2016, por isso a quantidade não é mais exibida e assim este código não funciona mais. Como não ficou claro se essa mudança é em definitivo ou não, mantivemos a postagem aqui mas provavelmente ela não funcionará mais. Em um dos projetos que trabalhei recentemente,…

  • Evite que seu WordPress de dicas aos invasores!

    Já reparou que na página de login de seu WordPress, quando você erra o login ou a senha o sistema avisa o que você errou ? Tudo bem, é um recurso até bacana, simpático… mas também é uma ótima dica para os invasores ! Com isso, eles poderão saber aonde estão errando na hora de…

  • Jetpack: Editando o posicionamento dos botões de compartilhamento social

    Jetpack: Editando o posicionamento dos botões de compartilhamento social

    Utilizando o plugin Jetpack faz algum tempo, sempre me perguntei como os botões de compartilhamento social eram corretamente colocados após o conteúdo da postagem, e como eu poderia fazer um controle manual deste posicionamento para explorar isso melhor em cada tema. Aqui mesmo no TudoParaWP, os botões de compartilhamento são colocados antes e depois do…

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