Resolver problema de redimensionamento de imagem em alta resolução no WordPress

Olá terráqueos, eu estava trabalhando em um projeto em que o cliente precisava subir as fotos em alta resolução e que o WordPress gerasse alguns tamanho de miniaturas (não só os tamanhos padrões) que seriam usados em outras partes do site, mas não estava sendo criado as miniaturas, então logo percebi que era por causa do tamanho da imagem, mas não o tamanho em MB e sim a dimensão da imagem, se fosse usada uma imagem com resolução acima de 2000px de largura por exemplo, ele fazia o upload da imagem normalmente, mas não gerava as miniaturas, resolvi postar o problema no grupo de WordPress no Facebook, depois de muitas pulgas tiradas de trás da orelha e muitas teorias dignas de fã de LOST (o/), concluímos que o problema era com a biblioteca GD do php, eu descobri que ela tem mesmo uma limitação para o redimensionamento de imagem, além de usar muita memória do servidor, foi ai que achei o plugin ImageMagick Engine, esse plugin substitui a GD pela biblioteca ImageMagick, que é muito mais eficiente para a função que eu precisava, mas lembrando que você precisa ter a biblioteca ativada em sua hospedagem para o plugin funcionar.

Ótimo! então resolveu o problema?

Sim e não, no teste que fiz na UOLHOST só o plugin resolveu o problema, mas na hospedagem onde o site do cliente ia ficar, ainda persistia o erro, então lá fui eu novamente buscar uma solução no Google.

E ai, achou outra solução?

Sim, depois de debugar descobrir que havia alguma coisa errada no SQL, então eu descobrir neste link como resolver esse problema que é recorrente desde as versões antigas do WP, mas é lógico como as coisas nunca são fáceis para mim (momento depressão), não tinha a solução para a versão 3.3.1 do WordPress, então tive que por a mão na massa e criar a solução, que ficou assim:

Abra seu arquivo wp-db.php que se encontra na pasta wp-includes e adicione na linha 1057 o seguinte:

$this->query("set session wait_timeout=600");

O que acontecia é que como demorava muito a manipulação da imagem, então extrapolava o tempo de conexão com o banco de dados, dai não cadastrava o tamanho das imagens corretamente. O que eu fiz com a adição desta linha foi aumentar o tempo de espera da conexão com o banco de dados. Isso já solucionaria o problema sem precisa usar o plugin citado acima, mas mesmo assim eu mantive o uso do plugin para melhorar a performance do upload das fotos.

NOTA: eu sei que não é recomendado alterar os arquivos do core do WordPress, mas foi a unica solução que eu encontrei, se alguém tiver alguma ideia de como fazer isso com uma função para ser usada no arquivo functions.php será de grande valia.

NOTA 2: Não se esqueça que ao atualizar o WordPress esse arquivo editado é sobrescrito, então guarde um backup.

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>