Jaka jest różnica między set_post_thumbnail_size a add_image_size? Czy set_post_thumbnail_size dla wszystkich zdjęć i add_image_size do indywidualnego rozmiaru zdjęć?
Dzięki.
źródło
Jaka jest różnica między set_post_thumbnail_size a add_image_size? Czy set_post_thumbnail_size dla wszystkich zdjęć i add_image_size do indywidualnego rozmiaru zdjęć?
Dzięki.
Kiedy obraz jest przesyłany do WordPress, jest zapisywany w oryginalnym rozmiarze, a także jako niektóre kopie o zmienionym rozmiarze w różnych rozmiarach. W ten sposób można łatwo używać różnych rozmiarów, tego samego obrazu, do różnych celów.
Domyślnie WordPress tworzy 3 kopie w 3 różnych rozmiarach:
'thumb'
'medium'
'large'
Rozmiar w pikselach dla tych 3 rozmiarów można ustawić na pulpicie nawigacyjnym WordPress, w menu Settings -> Media
.
Teraz funkcja add_image_size
służy do zarejestrowania nowego rozmiaru, który dodaje 3 wartości domyślne.
Każdy zarejestrowany rozmiar mogą być pobierane przy użyciu jego nazwy w niektórych funkcji, np WordPress wp_get_attachment_image_src
, wp_get_attachment_image
, wp_get_attachment_link
.
Wszystkie te funkcje akceptują parametr, $size
który powinien być nazwą jednego z zarejestrowanych rozmiarów (jednego z 3 standardów lub jednego z zarejestrowanych niestandardowych rozmiarów add_image_size
).
Jeśli 'full'
zostanie użyty jako $size
argument, oryginalny obraz zostanie zwrócony, a ten nie zostanie zmieniony.
Oprócz wyżej wymienionych funkcji istnieją dwie inne funkcje, które wykorzystują rozmiary obrazu: get_the_post_thumbnail
i the_post_thumbnail
.
Te dwie funkcje pobierają (pierwszy) i odbijają (drugi) obraz ustawiony jako „polecany obraz” dla posta.
To, co zwracają (lub odbijają) te funkcje, to pełny img
znacznik HTML, coś w rodzaju
<img scr="http://www.example.com/wp-content/2013/08/image-200x200.jpg" />
Więc jaki jest używany rozmiar?
Jeśli a $size
zostanie przekazane jako drugi argument (pierwszy jest $postid
), funkcje te zwracają obraz w tym rozmiarze. W przeciwnym razie, te funkcje wyszukać rozmiaru obrazu zarejestrowanego pod nazwą: post-thumbnail
.
To nie jest jeden z 3 domyślnych rozmiarów, w rzeczywistości jest to 4. standardowy rozmiar (rozważany jest 5. rozmiar full
) i można go zarejestrować dzwoniąc set_post_thumbnail_size
.
Więc
set_post_thumbnail_size( $width, $height, $crop );
jest skrótem do
add_image_size( 'post-thumbnail', $width, $height, $crop );
Jeśli nie zadzwoniłeś set_post_thumbnail_size
(co oznacza, że rozmiar 'post-thumbnail'
nie został utworzony), WordPress użyje tego rozmiaru thumb
, a nawet jeśli ten rozmiar nie będzie dostępny, WordPress użyje oryginalnego obrazu, którego nie zmieniono.
Rejestrowanie niestandardowych rozmiarów obrazów może być bardzo pomocne przy projektowaniu motywu, ale ważne jest, aby nie nadużywać: każdy przesłany obraz jest kopiowany i zmieniany dla wszystkich zarejestrowanych rozmiarów, więc zarejestrowanie wielu rozmiarów znacznie spowolni proces przesyłania zdjęć.
Notka:
Pamiętaj, że gdy WordPress tworzy skalowane kopie obrazu, nigdy go nie powiększa, ale robi tylko mniejsze kopie: np. Jeśli oryginalny obraz ma 400 x 500 pikseli, a „średni” rozmiar obrazu to 800 x 600 pikseli, średnie i większe nie są tworzone.
Dlatego rejestrowanie rozmiaru obrazu nigdy nie zapewnia bezpieczeństwa, że plik obrazu dla każdego zarejestrowanego rozmiaru faktycznie istnieje w folderze zawartości WordPress. Nawet dlatego, że zarejestrowane rozmiary obrazów łatwo się zmieniają: zmiana ustawień, zmiana motywów itp.
Kiedy Zmienia rozmiar obrazu, z jakiegokolwiek powodu, zmiana ma wpływ na zdjęciach przesłanych po tej zmiany; zdjęcia przesłane wcześniej nie zmieniają wymiarów i nie są przeskalowywane ani ponownie zapisywane.
Jeśli po przesłaniu niektórych zdjęć (np. Po zmianie motywów) trzeba polegać na określonych rozmiarach obrazu, to wtyczka Regeneruj miniatury uratuje życie.
set_post_thumbnail_size( 150, 150 ); If you haven't called set_post_thumbnail_size (which means the size 'post-thumbnail' is not created), WordPress will use the size thumb, and if even this size is not available, WordPress will use the original image, the one not resized.
... jest niepoprawny. Z mojego doświadczeniaset_post_thumbnail_size()
wynika , że jeśli to nie zostało wywołane, WP powraca do obrazu w pełnym rozmiarze.Z Kodeksu:
set_post_thumbnail_size
add_image_size
źródło