W $content_width
globalnej w WordPressie Efekty wiele tematów, a nawet niektóre wtyczki poprzez ograniczenie rozmiaru obrazów i osadza w postach, jest to wymóg dla tematów przedstawionych wordpress.org.
Ustawia się go za pomocą:
$content_width = 584; // Twenty Twelve example
Jeśli wstawisz duży obraz (domyślnie 1024x1024) do postu, spowoduje to:
src="../wp-content/uploads/2013/02/IMG_1390-1024x682.jpg" width="584" height="328"
Jeśli zamiast tego usuniesz to ustawienie globalne i wstawisz rzeczywisty rozmiar obrazu, ustawienie add_image_size
go spowoduje:
src="../wp-content/uploads/2013/02/IMG_13901-584x328.jpg" width="584" height="328"
Usuwanie globalnych i wstawianie dużych obrazów, co jest bardzo powszechne , często skutkuje oszczędnością ponad 2x, na stronach z wieloma obrazami widzę setki KB zapisane podczas ładowania strony.
Czy używanie add_image_size
i usuwanie możliwości wstawiania obrazów w pełnym rozmiarze nie jest lepszą opcją?
ps. Pisałem o tym tutaj z dokładniejszymi danymi
źródło
Odpowiedzi:
Pamiętaj, że
$content_width
globalny jest używany nie tylko dla obrazów, ale także dla obiektów osadzonych, takich jak wideo. Tak więc, każde rozwiązanie nie będzie po prostu rezygnacją z użycia / wsparcia$content_width
samego siebie.Zwykle motyw ogranicza obrazy w obszarze zawartości na kilka sposobów:
$content_width
czegoś odpowiedniego dla projektu motywu#content img { max-width: XXX; height: auto; }
celu zapewnienia, aby wstawiane obrazy w pełnym rozmiarze nie uszkodziły układuset_post_thumbnail_size()
celu zdefiniowania domyślnegothumbnail
rozmiaru wyróżnionego obrazu / postu . (Uwaga: osobiście nie zalecam korzystania z tej metody. Zdefiniuj niestandardowe rozmiary obrazu specyficzne dla danej lokalizacji dla wyróżnionego obrazu, a następnie wywołaj ten niestandardowy rozmiar w określonej lokalizacji szablonu, za pośrednictwemthe_post_thumbnail( $size )
.)Jak odkryłeś, ze względu na sposób, w jaki WordPress wybiera z pośrednim rozmiarem obrazu, który ma być użyty dla dowolnego żądania obrazu, żądanie to może spowodować obraz skalowany w przeglądarce.
Wartości zdefiniowane tematycznie dla dużego obrazu
Jedną z opcji byłoby ponowne zdefiniowanie ustawień dla dużych wymiarów obrazu . (Kontynuuj ostrożnie. Jest to w porządku dla własnej witryny, ale publicznie rozpowszechniany motyw, który miesza się z ustawieniami konfiguracji użytkownika, jest w najlepszym razie ... szarym obszarem).
Ustawienia wymiarów dużego obrazu są przechowywane jako:
Możesz więc ustawić te wartości zgodnie ze swoją
$content_width
wartością:(Oczywiście, w razie potrzeby warto wprowadzić pewne zabezpieczenia przed awarią / sprawdzaniem błędów).
Usuń opcję wstawiania pełnowymiarowych obrazów
Jeśli chcesz po prostu uniemożliwić użytkownikom wstawianie zdjęć w pełnym rozmiarze (ponownie: zachowaj ostrożność; może to być terytorium wtyczki), możesz filtrować
'image_size_names_choose'
:Ponownie: możesz tu dodać kilka rozsądnych błędów, ponieważ ten filtr jest używany w więcej niż jednym miejscu.
Zdefiniuj niestandardowy rozmiar obrazu dla obrazów o pełnej szerokości
W związku z poprzednią opcją możesz zdefiniować
'full-post-width'
rozmiar obrazu:Następnie dodaj go do listy dostępnych opcji:
źródło
get_option
wartości. Reszta jest podobna do istoty , której używam gist.github.com/wycks/4949242, która została połączona w moim linku. Wydaje się również, że jest to szary obszar, w jaki sposób dokonać skalowania w przypadku zmiany motywu.$content_width
lub nie ustawieniu go, nadal myślę, że domyślnie jest stosowany do osadzonych obiektów.image_size_names_choose
dotąd nie widziałem tego filtra! Zastąpiłem całe to pole, aby uzyskać teraz moje niestandardowe rozmiary. Czy to nowość w 3.5 Chip?add_image_size
wielojęzycznych, a potem pomyślałem, że przydałby się również ten problem z rozmiarem obrazu. Jeśli nie potrzebujesz lokalizacji, możesz po prostu wtłoczyć ją do tablicy zamiast na stałe.Tak myślę. Aby obejść
$content_width
problem dotyczący motywów przesłanych do repozytorium, używam filtrów opcji, aby wymusić rozmiary wybrane dla projektu.źródło