web-development-kb-pt.site

Corrigir pesquisa e substituir consultas para alterar URLs em um banco de dados WordPress?

Ter desenvolvido um site na caixa de produção usando um endereço temporário ( http: // IP-adddress ).

Agora é hora de ir ao vivo. Uma vez, há muito tempo atrás, eu usei com sucesso o phpMyAdmin e fiz uma pesquisa/substituição, mas estou querendo saber se ainda é "o melhor" caminho a percorrer.

Isso funcionará bem, ainda? O site está no WordPress 3.0.1.

update wp_options set option_value=replace(option_value,'OLD URL','NEW URL') where option_value like "%OLD URL%";    
update wp_posts SET guid=replace(guid, 'OLD URL','NEW URL');
update wp_posts SET post_excerpt=replace(post_excerpt, 'OLD URL','NEW URL');
update wp_posts SET post_content=replace(post_content, 'OLD URL','NEW URL');    
update wp_postmeta SET meta_value=replace(meta_value, 'OLD URL','NEW URL');

Eu li um número de posts relacionados aqui, mas nenhum com as consultas reais.

Eu pensei que este procurar e substituir o plugin parecia promissor, mas a única documentação que encontrei foi em alemão, que não posso ler, por isso estou muito cauteloso para experimentá-lo.

E este tópico sobre mudar de desenvolvimento para produção tem muitas informações, mas:

  1. muito disso está acima da minha cabeça, e
  2. nenhuma consulta listada.

TYIA,

Mike

4
MikeK

Sim, essas consultas ainda funcionam.

Este é um completo how-to: http://web-kreation.com/tutorials/migrating-a-wordpress-site-ftp-phpmyadmin-and-sql-queries/

1
sorich87

Esse vai te causar alguns problemas:

update wp_options set option_value=replace(option_value,'OLD URL','NEW URL') where option_value like "%OLD URL%";

Ele corromperá todos os dados de widget ativos que estiverem armazenados na tabela de opções, porque essas informações provavelmente serão serializadas e a consulta não considerará dados serializados. Essa foi a essência do segmento wp-hackers. No entanto, ninguém nesse segmento parecia ter uma consulta infalível para manipular dados serializados.

Você pode querer apenas alterar as opções para 'siteurl' e 'home' em wp_options individualmente e, em seguida, modificar seus widgets no painel.

3
goldenapples

Os outros deram sugestões sobre as consultas SQL que você pediu e espero que aprendê-las o ajude com o processo; Eu sei que sempre me ajuda a aprender um nível abaixo de onde eu preciso operar.

Mas você também pediu a melhor maneira de fazer isso e eu gostaria de sugerir que você olhasse a postagem que você referenciou novamente ( Mudando de Desenvolvimento para Produção ) mas desta vez observe o plugin I referencia no post, umplugin para corrigir os dadosdepois de ir de um servidor para outro. Em vez de sujar as mãos periodicamente com o SQL, você precisa reaprender porque não delegar isso a um plug-in que lida com ele?

O plugin étotalmente hookableentão quando você precisa descer para SQL para manipular alguns outros dados que um de seus outros plugins apresentou você pode estendê-lo e assim ele pode manipular qualquer coisa que precise ser consertado quando você passa de um host para outro. Provavelmente a melhor parte é quelhe dá um lugar em /wp-config.php para listar todos os detalhes de cada Host; ou seja, domínios, caminhos raiz, bancos de dados, dbusers, senhas e até mesmo coisas como as chaves da API do Google Maps quando você precisar.

O plugin ainda está em alpha, e é por isso que ele está aqui no StackExchange e não está listado no repositório de plugins do WordPress ainda:

0
MikeSchinkel