Protegendo o nome de usuários registrados em seu WordPress
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.') );

Isso já devia fazer parte da instalação básica do WordPress, né?
Concordo Thiago,
Ainda bem que, pra nossa sorte, o WordPress é opensource, assim todos podem detectar suas falhas e as corrigir e aprimorar o sistema 🙂
Abraços !
Boa orientação, valeu abraço.