Saiba como remover links de comentários do WordPress utilizando apenas algumas linhas de PHP. Um dia você pode querer fazer alguma limpezas no seu blog e pode descobrir que muitos dos comentários mais antigos tem o que pode ser considerado como links de spam dentro do próprio corpo do comentário.
Em vez de passar manualmente por cada um, o que levaria muito tempo para desativá-los, você pode criar um pequeno script PHP para fazer essa tarefa automaticamente para mim. Abaixo você encontrará o roteiro e uma explicação do que ele faz.
NOTA IMPORTANTE: Por favor, use apenas o script, se você sabe o que está fazendo, e certamente o faz por sua conta e risco.
Como você pode ver, eu recomendo abaixo o backup de todo o seu banco de dados caso algo dê errado. A pior das hipóteses é que ele irá apagar todos os comentários em seu banco de dados, então você precisa ser capaz de reverter isso.
Como usar o script para limpar comentários?
Outra Nota Importante: faça backup do banco de dados antes de fazer qualquer coisa. Exporte o banco de dados inteiro e a tabela de comentários separadamente para que você possa restaurá-lo facilmente.
Depois de todos estes conselhos, leia atentamente e siga as etapas para usar o script, para remover links de comentários.
- Copie e cole o script em um arquivo de texto e salve-o com a extensão PHP, por exemplo, você pode chamar com
comments.php
ou como desejar. - Atualize a conexão do banco de dados com seu usuário e credenciais do banco de dados.
- Envie o arquivo para o seu site.
- Execute o arquivo acessando-o usando seu navegador. Por exemplo seu
site.com/comments.php
<?php $db = mysqli_connect(‘localhost’,’db_user’,’user_senha’,’db_name’) or die(‘Erro ao conectar com o banco de dados MySQL.’); $query = “SELECT comment_ID,comment_content FROM wp_comments”; $result = mysqli_query($db,$query) or die(‘Erro ao pesquisar no banco de dados.’); while($row = mysqli_fetch_array($result)){ $id = $row[0]; $content =strip_tags($row[1]); $regex = “@(https?://([-\w\.]+[-\w])+(:\d+)?(/([\w/_\.#-]*(\?\S+)?[^\.\s])?)?)@”; $content = preg_replace($regex, ‘ ‘, $content); //echo $id. “,”; $stmt = mysqli_prepare($db,”UPDATE wp_comments SET comment_content=? WHERE comment_ID = ?”); mysqli_stmt_bind_param($stmt,”si”,$content, $id); mysqli_stmt_execute($stmt); mysqli_stmt_close($stmt); } ?>
Com apenas isso e tudo feito. O script executará todos os seus comentários removendo todos os links, mas preservando o texto dos links. Eu não garanto que vai funcionar em qualquer versão do WordPress, ou tema. para mim funcionou com WP 5.2 e tema atualizado.
Esta é uma boa forma de remover links de comentários sem ter que instalar plugins.
Antes de excluir todos os comentários do WordPress
Existem muitos cenários legítimos em que um usuário realmente precisa excluir todos os comentários do WordPress sem qualquer hesitação.
Por exemplo, você preencheu o WordPress com comentários fictícios em um site de desenvolvimento apenas para ver como ficariam. Você gostaria de excluir esses comentários antes de mover para um site ativo?
Existem muitos outros cenários também, em que o proprietário de um site gostaria de se livrar dos comentários de seu site WordPress.
No entanto, se você deseja apenas excluir os comentários de spam, é possível selecionar toda a página de comentários no painel admim e selecionar a ação em massa para excluir. Os comentários irão para a lixeira e você deve esvaziá-la em seguida.
Excluir todos os comentários no WordPress é uma ação irreversível. Você não poderá desfazê-lo depois de excluir esses comentários. É por isso que é importante ter um backup.