Banco de dados
Categorias

Aprenda a encontrar e substituir texto em posts no WordPress com SQL Queries

Imagine que você possui um blog ou site em WorPress. Ele se encontra no ar já há alguns anos, digamos. Você pode se deparar, de repente, com a necessidade de substituir algum texto, algumas palavras, alguma frase, ou até mesmo trechos grandes de texto, em alguns locais de tal blog.

Você pode desejar alterar alguma URL ou link que mudou, algo que não existe mais, algo que não mais faz sentido, talvez. Digamos que algum texto, por exemplo, em algum post ou página de seu WordPress, precisa, por qualquer motivo, ser substituído. O que você faz? Vai até a dashboard do CMS, abre um post/página por vez, edita, salva, repete o processo, etc?

E se existirem, digamos, muitas substituições a serem feitas? Em muitos posts, em centenas, ou milhares, deles? E se você tiver de alterar, por exemplo, algum trecho, uma URL, uma frase, em centenas de posts? Não seria muito mais fácil realizar o processo de uma vez só? Rapidamente, sem entrar em inúmeras telas por várias e várias vezes seguidas?

Banco de dados

Aí podem entrar em cena as SQL queries, algo a respeito do qual também já comentamos neste outro artigo. Você pode utilizar, neste caso em específico, o comando UPDATE, em qualquer gerenciador de bancos de dados SQL e MySQL, como algum destes abaixo:

Obs: lembre-se de que você pode utilizar qualquer ferramenta similar, inclusive qualquer uma oferecida pelo seu provedor de hospedagem. Até mesmo o phpMyAdmin.

Faça backup

Lembre-se: backup é essencial. Faça backup do seu WordPress antes de rodar a query abaixo. Neste caso em especial, faça backup do seu banco de dados.

Confira também algum dos artigos abaixo, todos relacionados a backups:

Lembre-se também de que alguns provedores/painéis de hospedagem oferecem ferramentas específicas para backup, muitas das quais fazem, inclusive, um backup completo, incluindo bancos de dados, arquivos, e pastas. Verifique todas estas informações antes de prosseguir.

Rodando a query SQL para substituir textos em posts

Observe, antes de qualquer coisa, que estamos nos referindo, neste artigo, a uma tabela em específico do WordPress (wp_posts), e a um campo em específico, dentro da mesma tabela (post_content). Ou seja, estamos nos referindo à tabela onde são armazenados todos os posts do seu WordPress, e mais especificamente ainda, ao campo da mesma onde é armazenado o conteúdo dos posts em si.

Poderíamos utilizar, de/com diferentes formas e sintaxes, comandos similares para alterar conteúdo/texto em comentários (wp-comments), também. Digamos que “o céu seja o limite”. Mas vamos nos ater aqui à tabela “wp-posts”.

Você pode utilizar o comando abaixo, para realizar substituições de texto:

update NOME_TABELA set NOME_CAMPO =
replace(NOME_CAMPO, 'Texto a ser encontrado', 'texto substituto');

Por exemplo:

update wp_posts set post_content =
replace(post_content,'Texto a ser encontrado','texto substituto');

Obs: no exemplo acima, o trecho “Texto a ser encontrado” será localizado em todos os posts do WordPress.  A seguir, tal trecho será substituído por “texto substituto”. Fácil, não?

Obs 2: lembre-se de substituir “Texto a ser encontrado” e “texto substituto”, conforme suas necessidades.

Obs 3: você pode tanto encontrar quanto localizar textos isolados, frases, URLs, etc. Por exemplo:

update wp_posts set post_content =
replace(post_content,'urlteste.com','urlteste.org');

Obs 4: repare mais uma vez que você pode realizar adaptações, aqui, substituindo a tabela e o campo.

Rode/Execute a query, e pronto! Até a próxima!