Embora o WordPress seja melhor que o Blogger, e seja uma plataforma extremamente competente a praticamente todos os níveis, a verdade é que ele guarda todas as informações que passam pelo seu banco de dados MySQL, mesmo aquelas informações que simplesmente não valem para nada. Sejam artigos, páginas, comentários, blogroll, opções de plugins….tudo!
Se o seu blog tiver centenas ou milhares de artigos e você necessitar de fazer uma alteração em seu banco de dados que afecte todos esses artigos, ir pelo painel de administração para editar artigo-a-artigo é sem dúvida extremamente desgastante e penoso. Portanto, a única opção que você tem disponível é ir diretamente no banco de dados MySQL do seu WordPress e executar Queries para realizar as alterações. Além disso, esta funcionalidade é sem dúvida uma grande mais-valia, pois poupa-lha imenso tempo e aumenta drasticamente a sua produtividade.
Existem inúmeras razões para você editar o seu WordPress, e também centenas de Queries que você pode correr no seu banco de dados, conforme os colegas do speckyboy indicam no seu artigo, e depois existem as Queries que são realmente importantes e interessantes de usar, que são as que lhe indicamos já de seguida!
NÃO SE ESQUEÇA DE FAZER BACKUPS
O banco de dados do seu WordPress é o local onde estão guardados dos os artigos do seu blog, comentários e opções de configuração que você realizou no seu blog. Independentemente do quão à vontade você se sente para executar estas Queries no seu SQL, por favor, faça um backup primeiro. Se desejar, pode ainda aprender como fazer backups automáticos do seu WordPress para o DropBox.
1. ADICIONAR UM CAMPO PERSONALIZADO A TODOS OS POSTS E PÁGINAS
Este truque irá adicionar um campo personalizado (custom field) a todos os posts e páginas do seu banco de dados. A única coisa que precisa fazer é substituir o ‘UniversalCutomField‘ por qualquer nome que você desejar e definir o ‘MyValue‘ para o valor que você quer nesse campo.
INSERT INTO wp_postmeta (post_id, meta_key, meta_value) SELECT ID AS post_id, 'UniversalCustomField' AS meta_key 'MyValue AS meta_value FROM wp_posts WHERE ID NOT IN (SELECT post_id FROM wp_postmeta WHERE meta_key = 'UniversalCustomField');
Para posts apenas, use este código…
INSERT INTO wp_postmeta (post_id, meta_key, meta_value) SELECT ID AS post_id, 'UniversalCustomField' AS meta_key 'MyValue AS meta_value FROM wp_posts WHERE ID NOT IN (SELECT post_id FROM wp_postmeta WHERE meta_key = 'UniversalCustomField') `` AND post_type = 'post';
…e para páginas apenas, use este código…
INSERT INTO wp_postmeta (post_id, meta_key, meta_value) SELECT ID AS post_id, 'UniversalCustomField' AS meta_key 'MyValue AS meta_value FROM wp_posts WHERE ID NOT IN (SELECT post_id FROM wp_postmeta WHERE meta_key = 'UniversalCustomField') AND `post_type` = 'page';
2. ELIMINAR META DADOS DOS ARTIGOS
Quando você instala ou remove plugins do seu blog, eles usam a função “post meta” para armazenarem informações. Depois de você remover o plugin, a informação continuará dentro da tabela post_meta, o que obviamente é dispensável. Altere a ‘YourMetaKey‘ para o valor que deseja e execute a sua query.
DELETE FROM wp_postmeta WHERE meta_key = 'YourMetaKey';
3. IDENTIFIQUE TAGS NÃO USADAS
Num banco de dados do WordPress, se você corre uma query para eliminar artigos mais antigos, as tags desses artigos irão permanecer na listagem de tags. Com esta query você pode identificar quais as tags que já não estão em uso.
SELECT * From wp_terms wt INNER JOIN wp_term_taxonomy wtt ON wt.term_id=wtt.term_id WHERE wtt.taxonomy='post_tag' AND wtt.count=0;
4. ELIMINAR COMENTÁRIOS DE SPAM
Se você tem uma grande quantidade de comentários de SPAM no seu blog que ainda não eliminou, considere correr esta Query no seu blog WordPress:
DELETE FROM wp_comments WHERE wp_comments.comment_approved = 'spam';
5. ELIMINAR COMENTÁRIOS NÃO APROVADOS
Esta query SQL irá eliminar todos os comentários não aprovados e não terá qualquer interferência nos comentários já aprovados.
DELETE FROM wp_comments WHERE comment_approved = 0
6. DESLIGAR COMENTÁRIOS EM ARTIGOS ANTIGOS
Para esta query, especifique o comment_status como “open” (aberto), “closed” (fechado), ou “registered_only” (apenas membros registrados). Especifique também a data 2010-01-01 de acordo com as suas necessidades.
UPDATE wp_posts SET comment_status = 'closed' WHERE post_date < '2010-01-01' AND post_status = 'publish';
7. DESLIGAR OU LIGAR TRACKBACKS E PINGBACKS
Ligar os pingbacks/trackbacks para todos os usuários:
UPDATE wp_posts SET ping_status = 'open';
Desligar os pingbacks/trackbacks para todos os usuários:
UPDATE wp_posts SET ping_status = 'closed';
8. LIGAR/DESLIGAR PINGBACKS E TRACKBACKS ANTES DE UMA CERTA DATA
Para esta query, especifique o ping_status como open ou closed. Não esqueça de especificar também a data 2010-01-01 de acordo com as suas necessidades.
UPDATE wp_posts SET ping_status = 'closed' WHERE post_date < '2010-01-01' AND post_status = 'publish';
9. ELIMINAR COMENTÁRIOS COM UM URL ESPECÍFICO
Se você tem comentários de spam que contêm sempre o mesmo URL então esta query pode ajudá-lo a eliminar rapidamente esses comentários. A query seguinte elimina todos os comentários que contenham um URL específico. O ‘%’ significa que qualquer url contendo a string entre ‘%’ será automaticamente eliminado.
DELETE from wp_comments WHERE comment_author_url LIKE "%nastyspamurl%" ;
10. ELIMINAR ARTIGOS COM MAIS DE XX DIAS
Para identificar artigos que estejam com mais de ‘X’ dias, corra esta query, e não se esqueça de trocar o ‘X’ pelo número de dias que você está desejando procurar:
SELECT * FROM `wp_posts` WHERE `post_type` = 'post' AND DATEDIFF(NOW(), `post_date`) > X
Para eliminar artigos com ‘X’ dias use esta query:
DELETE FROM `wp_posts` WHERE `post_type` = 'post' AND DATEDIFF(NOW(), `post_date`) > X
11. REMOVER SHORTCODES INDESEJADOS
Os shortcodes para WordPress são fantásticos, mas quando você decide parar de os usar, o seu código irá permanecer dentro dos seus artigos. Eis uma query SQL simples para correr o seu banco de dados e eliminar shortcodes indesejados. Troque o ‘tweet‘ pelo nome do shortcode que pretende eliminar.
UPDATE wp_post SET post_content = replace(post_content, '[tweet]', '' ) ;
12. TRANSFORME SEUS ARTIGOS EM PÁGINAS E VICE-VERSA
Alterar posts para páginas é muito fácil, sendo que a única coisa que necessita fazer é correr esta query SQL no seu PHPMyAdmin:
UPDATE wp_posts SET post_type = 'page' WHERE post_type = 'post'
… e se você pretender trocar páginas para posts use esta query:
UPDATE wp_posts SET post_type = 'post' WHERE post_type = 'page'
13. ALTERAR AUTOR DE POSTAGENS EM TODOS OS ARTIGOS
A primeira coisa que você deverá fazer com esta query é definir os IDs do autor do seu blog WordPress. Para encontrar esses IDs pode correr esta query:
SELECT ID, display_name FROM wp_users;
Assim que você tenha os IDs dos autores antigos e os IDs dos novos autores, insira o seguinte comando, não esquecendo de trocar os campos ‘NEW_AUTHOR_ID‘ com o ID do novo autor e o ‘OLD_AUTHOR_ID‘ com o ID do autor antigo.
UPDATE wp_posts SET post_author=NEW_AUTHOR_ID WHERE post_author=OLD_AUTHOR_ID;
14. ELIMINAR REVISÕES DE ARTIGOS
As revisões de artigos podem ser muito úteis, mas ao mesmo tempo tornam o seu banco de dados MySQL pesado. Poderá eliminar as revisões de artigos manualmente, ou optar por correr esta query SQL.
DELETE FROM wp_posts WHERE post_type = "revision";
15. ALTERAR O URL DE DESTINO DO WORDPRESS
Depois de você ter mudado o seu blog (ficheiro de template, uploads e banco de dados) de um servidor para outro, a próxima coisa que você precisa fazer é indicar ao WordPress qual o novo endereço.
Não esqueça de trocar o ‘http://www.old-site.com‘ pelo velho URL, e o ‘http://www.new-site.com’ pelo seu novo URL.
Primeiro comando a usar:
UPDATE wp_options SET option_value = replace(option_value, 'http://www.old-site.com', 'http://www.new-site.com') WHERE option_name = 'home' OR option_name = 'siteurl';
Depois terá de alterar o URL da tabela wp_posts com este comando:
UPDATE wp_posts SET guid = replace(guid, 'http://www.old-site.com','http://www.new-site.com);
E finalmente, terá de fazer uma busca nos seus conteúdos para ter a certeza de que o URL está correto, usando este comando:
UPDATE wp_posts SET post_content = replace(post_content, ' http://www.ancien-site.com ', ' http://www.nouveau-site.com ');
16. ALTERAR O NOME PADRÃO ‘ADMIN’ DO WORDPRESS
Qualquer instalação do WordPress cria uma conta padrão com o nome de usuário ‘Admin’. Se você alterar esse nome, você está aumentando a segurança do seu WordPress.
Troque o valor ‘YourNewUsername‘ pelo seu novo nome de usuário:
UPDATE wp_users SET user_login = 'YourNewUsername' WHERE user_login = 'Admin';
17. PROCURAR E SUBSTITUIR CONTEÚDO DE UM ARTIGO
Para procurar e substituir determinado conteúdo dos seus artigos utilize o seguinte comando. Troque o campo ‘OriginalText‘ pelo texto que pretende remover/trocar e troque o campo ‘ReplacedText‘ pelo seu novo texto.
UPDATE wp_posts SET `post_content` = REPLACE (`post_content`, 'OriginalText', 'ReplacedText');
18. ALTERAR O URL DAS IMAGENS
Se você precisa mudar o caminho das suas imagens (URL), pode usar o seguinte comando:
UPDATE wp_posts SET post_content = REPLACE (post_content, 'src=”http://www.myoldurl.com', 'src=”http://www.mynewurl.com');
Até Já!