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

  • Temas filho para conteúdo temático

    O que você faz quando um cliente pede para você incluir alterações no site referente a uma data específica (natal, páscoa, dia do índio, etc)? Você altera os arquivos do seu tema, inclui novas imagens, modifica o CSS, talvez alguns javascripts. Leva horas para fazer a alteração que vai ficar apenas 1 dia no ar…

  • Como colocar expiração automatica de artigos no seu blog

    Uma vez que o WordPress não inclui por defeito uma função que permita ao editor definir quanto tempo um determinado artigo deverá ficar online, muitos editores sentem dificuldades em automatizar o periodo de expiração de artigos, tendo geralmente de recorrer a métodos manuais. Eis no entanto uma forma muito eficiente e engraçada de colocar expiração…

  • Alterando o link de login do WordPress

    Como já é de conhecimento de todos que estão familiarizados com nosso querido WordPress, a url padrão para login em nosso sistema é: Entretanto, quando fazemos um site em WordPress para um cliente a coisa já caminha de um modo diferente. Sim minha gente, já recebi ligação perguntando “Como eu entro mesmo no WordPress ?…

  • Veja todas as novas funções do WordPress 3.7

    A cada nova versão do WordPress, novas funções interessantes vão surgindo. Vamos ver TODAS as novas funções do WordPress? A explicação de cada uma está em inglês, mas aos poucos vamos traduzindo para vocês 😉 find_core_auto_updates Gets the best available (and enabled) Auto-Update for WordPress Core. If there’s 1.2.3 and 1.3 on offer, it’ll choose…

  • Como ativar a aba Links no WordPress 3.5

    Por padrão, a seção de Links foi desativada em novas instalações que utilizem o WordPress 3.5 pois grande parte da comunidade já havia deixado de utilizar lista de links por seus sites. Entretanto, muitos usuários que ainda gostariam de utilizar tal funcionalidade podem ter se sentido prejudicados com tal remoção e estão sem saber como…

  • Fazendo backup de seus posts via ferramentas WordPress

    Por algumas vezes percebi que o WordPress mostra-se inconsistente quando fazemos algumas alterações, principalmente se estas alterações interferem no Banco de Dados. Como alguns serviços de hospedagem não permitem fazer o backup do banco de dados MySQL, ou não permitem a importação do backup, é aconselhável de tempos em tempos fazermos backup’s de nossas postagens,…

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