Como editar milhares de mensagens wordpress com apenas um comando sql
Possuir e executando um blog WordPress é muito divertido, especialmente quando você começar. Projetando o site ou escolher um tema legal, e escrever até os primeiros postos em antecipação do enorme enxame de pessoas que você tem certeza estão a caminho. Não demorou muito para a realidade de bater, e antes que você perceba que você não gosta do tema, o fluxo de visitantes há mais de uma corrente, e você percebe que o seu host não consegue ter a potência que você precisa .
Conteúdo
Crescer um blog leva anos, e um monte de dor e luta - Tenho certeza Aibek iria testemunhar isso. Depois, há as grandes transições, quando você percebe que você tem que fazer algumas mudanças importantes, e isso vai levar um monte de trabalho.
Há uma série de grandes mudanças que tive de fazer em meu próprio blog, mas um dos mais difíceis foi devido ao fato de que eu tinha usado um certo método manual para inserir anúncios do Google em meus artigos do blog.
Alterar Mensagens com um comando SQL Individual
O problema é que depois de vários anos de funcionamento do blog, eu tinha cerca de 1.000 mensagens com esse anúncio Google inserido manualmente. Se eu sempre quis fazer uma mudança, isso é um milhar de mensagens que eu teria que editar.
Video: AS FRASES MAIS USADAS PELA IURD PARA BOTAR MEDO NO POVO!
Eu queria usar aquele fresco no post modelo add-on que eu escrevi sobre em 2010. Este seria automatizar a inserção de anúncios em frente, mas se eu usei-o sem remover todos esses anúncios existentes, eu ia acabar com dois anúncios nos artigos antigos.
Para remover o anúncio de idade, eu tinha que realizar um pouco de magia SQL, e eu estou indo para compartilhar isso com você hoje. A acção tem lugar no phpMyAdmin, e você vai precisar para selecionar o banco de dados do seu blog a partir do menu à esquerda.
O código que você vai usar para retirar seções de seu conteúdo será na tag SQL. O que quero dizer com isto é o código que eu vou mostrar para você, você vai ser capaz de usar para remover qualquer conteúdo que existe em vários posts, 2-200 - ou mais. A única exigência é que o que você deseja remover tem que ter um texto início comum e um texto final - como um anúncio do Google tem uma marca de início comum e uma tag final.
Isto é o que minhas entradas mais recentes do blog parecido, com o anúncio inserido manualmente logo após a tag “mais” em cada página, alinhado à direita.
A forma como este código é colocado para fora na página parecido com este:
Como você pode ver, eu tenho um “script type” marca de início que eu posso usar no início de cada anúncio, e uma tag “script src” eu posso usar no final.
Então aqui está como ele funciona. Você precisa dizer o comando SQL “update” que deseja limpar completamente fora desse bloco de sua página. Você precisa entender três funções básicas do MySQL - substituir, substr e localizar.
Primeiro, use LOCALIZAR para dizer o comando a localização dos pontos de início e fim. No meu caso, eu uso as cordas no início e no final da seção I deseja remover. O local de início na página de início é:
LOCATE (`
A localização final é complicado. Localize lhe dá o início da string, então você tem que adicionar o número de caracteres até o fim da cadeia para obter a localização final.
LOCALIZAR(`
Em seguida, você vai precisar para contar a função “Replace” exatamente o texto que deseja substituir. Para fazer isso, extrair a seqüência real fora do conteúdo do post, usando a função SUBSTR. Você tem que passá-lo o local de partida (o que você tem agora) eo comprimento. O comprimento que você precisa para calcular subtraindo a posição a partir da última posição (que você também tem).
Aqui está o que parece, com o código acima inserido na função SUBSTR:
substr (post_content, localize (`
Parece certo louco? Mas se você olhar com cuidado, você verá que há três seções embutidos - conteúdo do post, começar a localização e comprimento.
Agora que você tem o texto exato que você deseja remover as suas mensagens, tudo que você tem a fazer é dizer a função REPLACE para substituí-lo por um espaço. Basta copiar o código acima para o seguinte comando:
ATUALIZAÇÃO wp_posts SET post_content = substituir (post_content, string_to_replace, replacement_string) -
Como isso:
ACTUALIZAÇÃO wp_posts SET post_content = SUBSTITUIR (post_content, substr (post_content, localizar (`
A execução do script acima, se toda a sintaxe está alinhada corretamente, você deve ver os seguintes resultados bem sucedidos em phpAdmin.
Agora, quando eu recarregar as mensagens em meu navegador web - voila! O anúncio foi magicamente arrancada.
Não me interpretem mal, não funcionou em todos os anúncios, porque eu tinha alguns mais antigos que tinham um pouco diferente formatação no início e fim. Como esta página.
Video: Mensagens biblicas - Mensagens bíblicas - Mensagens de gospel
Mas com um pouco de ajustes, apenas mudando as tags precisas para partida / chegada, eu era capaz de voltar a executar o SQL e limpe os para fora também.
Esta técnica irá trabalhar para remover qualquer conteúdo em tudo que está em seu conteúdo WordPress post. Essa é a beleza de ter as mensagens em um banco de dados MySQL, você pode simplesmente executar comandos SQL para manipular milhares de mensagens de uma só vez - economizando uma quantidade enorme de trabalho manual. Apenas certifique-se de fazer backup de seu banco de dados antes de começar!
Você tem outros usos puras para este comando SQL? Dê-lhe um tiro em seu próprio banco de dados WordPress e ver o quão bem ele funciona para você. Compartilhar suas experiências e comentários na seção de comentários abaixo.