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

  • Taxonomias personalizadas no WordPress: Como utilizar?

    Em geral,  taxonomias (do grego tassein = “para classificar” ) são utilizadas para classificar e organizar coisas referentes a um mesmo grupo. Por padrão, taxonomias no WordPress são tags e categorias que o WordPress está usando para os posts. Além destes dois, o WordPress permite que desenvolvedores criem suas próprias taxonomias ao desenvolver um tema, utilizando funções para…

  • Não tema as atualizações automáticas do WordPress 3.7

    Após o lançamento do WordPress 3.7, muitas reações diferentes puderam ser observadas sobre as atualizações automáticas. De ‘Eu quero o controle das minha atualizações’ à ‘Essa atualização automática do WordPress 3.7 quebrou alguma coisa no meu site’, alguns relatos mostram que alguns usuários não estão preparados para deixar o sistema “se melhorar” sozinho. Para quebrar…

  • 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…

  • Migração WordPress – Importando arquivos XML maiores que 2 Mb

    Nosso querido WordPress tem uma conhecida função no painel administrativo que nos permite exportar todo o conteúdo criado em nosso blog para um arquivo XML, para assim permitir que importemos tais dados em uma nova instalação de nosso blog (normalmente usado na hora da migração de servidor). Tal função funciona muito  bem se vocês estiver…

  • Como solicitar imagem destacada como obrigatória?

    Muitos temas de WordPress, sobretudo páginas iniciais e de arquivos/categorias, são altamente dependentes de imagens destacadas para apresentarem uma interface atrativa. Se você tem um tema assim, ou desenvolveu para um cliente que é assim, então você não pode permitir que sua postagem ou a de seu cliente fiquem sem imagem destacada, ou com uma…

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