Kiedy korzystam z funkcji, które pobierają i wysyłają miniaturę postu, wyświetlą żądaną miniaturę w określonym przez ciebie rozmiarze, ale jeśli ten rozmiar nie istnieje, wyświetlą miniaturę w oryginalnym rozmiarze i zmuszą przeglądarkę do zmiany jej rozmiaru.
Jak zmusić je do wyświetlenia symbolu zastępczego, takiego jak „brak obrazu”, jeśli żądany rozmiar nie istnieje?
post-thumbnails
images
Alex
źródło
źródło
Odpowiedzi:
Zakładając, że chodzi o pytanie
wp_get_attachment_image_src
.Może to również dotyczyć
wp_get_attachment_link
, ale chociaż ta analiza jest powiązana, ta analiza jej nie obejmuje.Dowiedziałem się o tym problemie, odpowiadając na to pytanie: Jak wyświetlić wszystkie miniatury wygenerowane przez WP w Media Manager? .
Zapoznaj się z nim, aby zobaczyć działający kod dotyczący problemu dotyczącego tego pytania .
I to prowadzi do tego tematu na forum WordPress .
Funkcja wp_get_attachment_image_src ($ id_ załącznika, $ rozmiar, $ ikona) zwraca tablicę zawierającą:
Jeśli
[3]
ma wartość false,original
zwracane są dane obrazu.Zarówno
wp_get_attachment_image_src
iwp_get_attachment_link
polegają na funkcjiimage_downsize
wewnątrz/wp-includes/media.php
.I właśnie tam zwracana jest ta tablica 4 przedmiotów.
źródło
Nie jestem tego pewien, ale wiem, że możesz użyć funkcji getimagesize () w php mniej więcej tak:
i wiem, że nie jest to bezpośrednia odpowiedź na pytanie, ale możesz użyć wtyczki o nazwie AJAX Thumbnail Rebuild - Ta wtyczka pozwala na odbudowanie miniatur postów. Przydatne, jeśli dodasz_image_size () po przesłaniu miniatur postów.
źródło
W ten sposób mogłem wyświetlić miniaturę tylko wtedy, gdy istnieje żądany rozmiar:
Aby dowiedzieć się więcej o
wp_get_attachment_image_src
czytaniu Kodeksu.źródło
Istnieje wtyczka, która automatycznie utworzy rozmiar obrazu, jeśli nie istnieje. http://austinmatzko.com/wordpress-plugins/filosofo-custom-image-sizes/
Nie potrzebowałem jeszcze używać tej wtyczki. Ale warto spróbować. Mówi się o dodaniu podobnej funkcjonalności do rdzenia WP, może w 3.2 http://core.trac.wordpress.org/ticket/15311
źródło
To wydaje się być lepszy sposób. Użyj globalnej zmiennej $ _wp_additional_image_sizes, przechowujesz wszystkie zarejestrowane image_size. Więc jeśli chcesz sprawdzić, czy nazwa rozmiaru obrazu jest zdefiniowana:
źródło
Najlepszym rozwiązaniem jest użycie wbudowanej funkcji Wordpress „get_intermediate_image_sizes”, aby zwrócić pełną listę rozmiarów obrazów jako tablicę, a następnie przejrzeć to.
źródło
Może to pomoże
from: http://codex.wordpress.org/Function_Reference/has_post_thumbnail
Używam czegoś takiego, aby sprawdzić, czy rozmiar obrazu istnieje:
Mam nadzieję, że pomoże Ci to rozpocząć.
źródło