Próbuję użyć nowej funkcji responsywnych obrazów w Wordpress 4.4, ale ciągle napotykam na szczególny problem, gdy próbuję użyć parametru post_thumbnail z niestandardowym rozmiarem obrazu. Wygląda na to, że nie mogę użyć niestandardowych rozmiarów obrazu.
Poniższy kod wygeneruje img
tag z srcset
teraźniejszością:
<?php the_post_thumbnail('medium', array( 'class' => 'img-responsive' )); ?>
Oto img
jak wygląda znacznik z medium
rozmiarem przekazanym do funkcji:
<img width="300" height="225" src="path/to/image-300x225.jpg" class="img-responsive wp-post-image" alt="Image" srcset="path/to/image-300x225.jpg 300w, path/to/image-768x576.jpg 768w, path/to/image.jpg 1024w" sizes="(max-width: 300px) 100vw, 300px">
Jednak gdy dokonam jednej zmiany, aby użyć mojego niestandardowego rozmiaru obrazu, srcset
znika. Czy ktoś wie, co się tutaj dzieje?
Oto jak dodałem swój niestandardowy rozmiar obrazu:
add_image_size ('my-custom-size', 1050, 626, true );
Oto jak to wygląda w kodzie:
<?php the_post_thumbnail('my-custom-size', array( 'class' => 'img-responsive' )); ?>
A oto co wyprowadza zauważyć, że my-custom-size
nie jest odczytywana i jest zamiast dodając wp-post-image
zamiast my-custom-size
:
<img width="1024" height="626" src="path/to/image-1024x626.jpg" class="img-responsive wp-post-image" alt="Image">
Pomóż mi zrozumieć, co robię źle!
add_image_size ('my-custom-size', 1050, 0, false );
i dla wyjaśnienia, proszę przeczytać to odpowiedzi wordpress.stackexchange.com/a/211405/18731Odpowiedzi:
Nie ma wystarczających informacji, aby upewnić się, że ta odpowiedź jest ostateczna, ale oto próba.
Po pierwsze, upewnij się, że przesyłany obraz jest w rzeczywistości większy niż zdefiniowany rozmiar. Widzę, że ludzie przesyłają obrazy, które są zbyt małe, a następnie cały czas uzyskują tego rodzaju wyniki.
Po drugie, WP utworzy tylko listę Srcset rozmiarów obrazów o tym samym współczynniku proporcji. Jeśli Twój niestandardowy rozmiar miał inny współczynnik kształtu niż inne rozmiary obrazu, możesz utworzyć wybór nowych rozmiarów o odpowiednich proporcjach obrazu.
Po trzecie, po zmianie lub dodaniu nowych rozmiarów obrazów należy zawsze ponownie wygenerować istniejące miniatury. Jest do tego świetna wtyczka o nazwie Regenerate Thumbnails .
źródło