Gostaria de saber se existe uma maneira simples (código ou plugin personalizado) de criar tamanhos de miniatura apenas para imagens que pretendo usar como imagens em destaque (index.php, archive.php, etc.), mas não para as imagens usado nas postagens (single.php). Meu principal objetivo é reduzir o uso do espaço no servidor, não criando miniaturas que meu tema nunca usará.
Na verdade, minhas miniaturas teriam apenas dois tamanhos, 720p de largura e 328px de largura, e as imagens em destaque de 720px (apenas na página inicial) também teriam uma de 328px (para archive.php e sidebar.php)
Atualmente, a única maneira programática que conheço é gerar miniaturas para cada upload de imagem , o que é indesejável, pois a maioria dos meus uploads será pós-imagem e eu precisaria excluir muitas imagens manualmente do servidor.
Eu preferiria código personalizado sobre plugins, mas um plug-in seria aceitável. Sei que existem alguns plugins de redimensionamento de imagens por aí, mas eles não são atualizados há muito tempo (TimThumb, Dynamic Image Resizer ).
Também encontrei uma pergunta semelhante aqui no Wordpress SE, mas a resposta aceita realmente não resolve o meu problema.
EDIT: Eu preciso excluir ou impedir miniaturas de imagens dentro da postagem, não de imagens em destaque, ou seja:
(1) Imagem em destaque : miniaturas adicionais geradas automaticamente pelo WP estão OK.
(2) Imagens usadas nas postagens : carregue a imagem original e não gere nenhum tamanho adicional. Cortarei, redimensionarei e otimizaremos a imagem antes de enviá-la e um tamanho atenderá às minhas necessidades.
fonte
_thumbnail_id
-, que deve ser suficiente, na verdade,save_post
e ganchos semelhantes podem ser um caminho a percorrer. Mas não esqueça que essas imagens em sua postagem podem ser usadas em outras postagens como miniatura. Você pode querer ter um mecanismo para explicar isso.add_filter('intermediate_image_sizes_advanced', '__return_false')
e, em seguida, redimensione as miniaturasRespostas:
Essa função gera uma imagem registrando temporariamente um tamanho de imagem, gerando a imagem (se necessário) e removendo o tamanho para que novas imagens não sejam criadas nesse tamanho.
É "preguiçoso" porque as imagens não são geradas até serem necessárias.
No seu caso de uso, você chamaria isso
lazy_image_size
com o ID da miniatura da postagem para obter uma imagem do tamanho desejado. Uma imagem seria gerada na primeira chamada. As chamadas subseqüentes buscariam a imagem existente.Gist: https://gist.github.com/mtinsley/be503d90724be73cdda4
fonte
Você pode ver este link . tem algum exemplo como
fonte
1. Vá para Painel> Configurações> Mídia
2. Desmarque a opção Cortar miniatura nas dimensões exatas (normalmente as miniaturas são proporcionais)
3. Digite 0 para todas as entradas (0 para todos os tamanhos)
4. Adicione-as às suas funções.php
5. Certifique-se de que não haja nenhuma linha de código em suas funções.php comece com
add_imge_size
Nota:: Suponho que você use tamanho de 400x400 para sua miniatura Agora, quando você enviar uma foto, ela criará apenas 2 versões em vez de pelo menos 4 versões como anterior.fonte
Oi - eu tive um problema semelhante. O Woocommerce usa imagens de catálogo para catálogo e imagens de produtos relacionados. Isso não é o ideal, pois você perde a qualidade ou a velocidade da imagem. Então, tentei adicionar uma quarta categoria de imagem para meus produtos relacionados. Howdy McGee resolveu o problema. Por favor, dê uma olhada na resposta de Howdy McGees:
Funcionou magnificamente para minhas necessidades. Para o seu problema, a mesma lógica pode ser aplicada. Espero que isto ajude. cumprimentos - theo
Eu encontrei uma solução que funciona. 1.step: atribua um novo tamanho de miniatura em suas funções.php. Verifique a referência: wp codex !
Nota: 'seu polegar', você usará esse nome de variável posteriormente
etapa: adicione o seguinte código sempre que desejar exibir seus produtos em destaque:
Referências e informações: reputação insuficiente para um terceiro link, desculpe (www.haloseeker.com/display-woocommerce-featured-products-without-a-shortcode/) Coloquei-o no index.php (minha página inicial) do wootheme mystile . Não se esqueça de usar o 'polegar' on-line:
etapa: regenerar miniaturas, use o plug-in https://wordpress.org/plugins/regenerate-thumbnails/
atualize o navegador e inspecione o dom e compare os valores
De acordo com o seu tema, você pode alterar a marcação e os nomes das classes. Eu testeto o método acima e funciona bem. A única coisa que não pude fazer até agora é adicionar o botão adicionar ao carrinho, pois não sei como escrever uma variável no código curto do botão adicionar ao carrinho. Este é o código:
Eu espero que isso ajude. Certamente, existe uma maneira mais elegante de fazer isso. Por exemplo, com uma função no functions.php
diz respeito a theo
fonte
Para impedir que o WordPress crie tamanhos adicionais apenas para determinadas imagens, você precisará indicar que uma imagem que você deseja enviar será usada apenas para uma finalidade específica. isso deve acontecer antes de você fazer o upload.
como não existe essa interface (pronta para uso) para indicar essas opções durante uma ação de upload, não é possível impedir a geração adicional de imagens - a menos que houvesse um plug-in que adicionasse esse recurso.
mas por que você não gostaria dos tamanhos de imagem adicionais? você nunca sabe quando pode encontrar uma situação em que deseja usar um tamanho diferente de qualquer imagem. você está preocupado com o espaço de armazenamento?
você não pode usar suas próprias especificações de tamanho específicas como esta?
the_post_thumbnail( array(100, 100) );
a maioria das respostas e comentários que li aqui explicam como personalizar o ambiente do WordPress para tamanhos de imagem, mas nenhum menciona fazê-lo condicionalmente. além disso, nenhum deles aborda o fato de que você deve poder indicar o uso de uma imagem antes de carregá-la.
se você estiver tentando compensar uma imagem muito pequena ou muito grande em uma postagem, poderá utilizar algumas coisas.
CSS: você pode adicionar entradas à sua folha de estilo, como
.post-entry img { max-width:200px; max-height:300px; }
, por exemplo , isso é mais universal e eficaz do que depender do tamanho da imagem em si - é muito tempo para o photoshop.Modelo: você pode alterar o arquivo de modelo em que as mensagens HTML estão sendo geradas e especificar um tamanho de imagem como este:
consulte esta documentação no WordPress: https://codex.wordpress.org/Function_Reference/the_post_thumbnail
fonte