Eu tenho 1000 imagens. Como posso fazer wordpress para gerar polegar apenas quando necessário. Por exemplo, o controle deslizante inicial usará apenas 10 imagens. Eu não quero que as outras 1000 imagens tenham essa miniatura gerada como um desperdício de espaço e recursos.
Existe uma maneira de disparar add_image_size somente quando necessário?
obrigado
ATUALIZAÇÃO Como você mencionou, não é realmente add_image_size o que ele precisa para ser demitido. O que seria ótimo é disparar o redimensionamento da imagem quando eu uso o_post_thumbnail ('slider-thumb'); Talvez essa desaceleração seja a primeira visualização da imagem, mas essa visualização geralmente é gerada por mim quando eu realmente reviso o post, então não me importo.
Então, entre minhas postagens, controle deslizante, miniaturas de blog, miniaturas de portfólio, etc., eu tenho 1000 imagens e quero que apenas 10 imagens sejam redimensionadas para o controle deslizante. Eu vejo muitos recursos desperdiçados para gerar o tamanho da miniatura para as outras 990 imagens.
Espero que esteja claro agora, desculpe pelo meu inglês
Respostas:
Dê uma olhada no plugin Dynamic Image Resizer da Otto
fonte
Coloque isso no arquivo de funções do tema. Isso impedirá o Wordpress de criar qualquer coisa, exceto os três tamanhos padrão ao fazer o upload.
Quando uma imagem é solicitada em um tamanho específico, que ainda não foi gerado, ela será criada apenas uma vez.
fonte
Infelizmente, a resposta de @ Patrick quebra as funções srcset introduzidas no WP 4.4. Felizmente, precisamos apenas adicionar duas funções adicionais!
Primeiro, precisamos reintroduzir temporariamente todos os tamanhos de miniatura registrados nos metadados da imagem para que possam ser considerados:
Em seguida, precisamos executar as correspondências e gerar as miniaturas ausentes:
fonte
Na verdade,
add_image_size()
não gera a miniatura, apenas registra o tamanho da imagem disponível para o WordPress.Normalmente, as miniaturas são geradas quando a imagem é carregada pela primeira vez. É um processo automático, assim você não precisa se preocupar em gerá-los mais tarde. Pense dessa maneira - se forem necessários 1-2s para gerar uma miniatura em um servidor lento e você esperar até que seja solicitado, forçará o solicitante a esperar 1-2s adicionais por imagem para ver o conteúdo. É muito mais fácil fazer isso com antecedência - ou seja, quando a imagem é carregada.
Ao mesmo tempo, se você precisar absolutamente processar as miniaturas em um momento diferente, consulte o plug-in Regenerate Thumbnails do Viper . Ele usa uma ação sob demanda para regenerar todas as miniaturas de imagens ... mas você pode usar código semelhante para gerar miniaturas apenas quando necessário.
fonte
Não exatamente. Mas você pode filtrar a lista de tamanhos registrados antes de as miniaturas serem geradas. A função wp_generate_attachment_metadata () (que chama a função que gera as miniaturas) possui um filtro chamado "imagem_ intermediária_de_tamanho_advanced", que permite manipular a matriz de tamanhos imediatamente antes da geração dos arquivos. Você pode usar esse filtro sempre que adicionar uma imagem de um "tipo" específico e removê-lo imediatamente depois.
Acho que seu maior desafio seria descobrir como diferenciar imagens que precisam de tamanhos extras e aquelas que não precisam.
fonte
Você pode usar meu plug-in (não Ottos) "Dynamic Image Resize" 1) .
O plug-in vem com uma tag de modelo e um código de acesso também.
1) Acabei de descobrir sobre o plugin Ottos. A colisão de nomes não foi intencional.
fonte
Você pode experimentar este plugin: https://wordpress.org/plugins/optimize-images-resizing
Ele redimensiona as imagens com base no tamanho da imagem registrada, mas somente quando necessário. Também pode limpar os tamanhos de imagem existentes para que eles possam se regenerar.
fonte
O plug-in WP Performance Pack oferece "manipulação de imagem aprimorada", baseada no Ottos Dynamic Image Resizer, mas inclui muitas melhorias, por exemplo: Antes de tudo, é compatível com a versão mais recente do WordPress (3.9.1), usa WP_Image_Editor, economizando miniaturas pode desativado (mas eles podem ser armazenados em cache e o Suporte CDN está a caminho), regenerar a integração do Thumbails (para excluir as miniaturas existentes) e muito mais.
fonte
Você também pode tentar o Aqua Resizer - https://github.com/syamilmj/Aqua-Resizer/
É apenas um arquivo.
Você pode usá-lo assim:
fonte
Aqui está outra abordagem: ela se prende ao tratamento de erros HTTP 404. Ou seja, quando a miniatura não estiver disponível, localize a imagem original e crie a miniatura. Observe que isso realmente não resolve o seu problema, pois não impede a geração de miniaturas durante o upload.
Observe também que esse plug-in pode ser usado por usuários mal-intencionados para criar qualquer número de miniaturas e, assim, esgotar o espaço em disco.
Nota: Este plugin pode ser facilmente instalado usando o Pluginception .
fonte