Przypadek: Mam klienta, który niewiele wie o świecie cyfrowym. Jednak wie, jak przenieść zdjęcia ze swojego aparatu na komputer i WordPress. Jednak nie wie, jak zmniejszyć zdjęcie do normalnego rozmiaru.
Rozwiązanie: Podoba mi się WordPress, aby automatycznie zmniejszać rozmiar zdjęć w tle do maksymalnej szerokości 1024px.
Problem: Chociaż mogę ustawić maksymalną szerokość w ustawieniach, mogę ustawić $ content_width i mogę dodawać nowe rozmiary obrazów za pomocą 'add_image_size'. Oryginalne zdjęcie jest nadal przechowywane w folderze przesyłania w oryginalnym rozmiarze. Oznacza to, że miejsce na dysku twardym łatwo się zapełni.
Pytanie: Co powinienem umieścić w functions.php, aby WordPress mógł zmniejszyć oryginalny obraz (jeśli jest większy niż maksymalna szerokość)?
Zmiana rozmiaru jest już wykonana, aby utworzyć duże / średnie / kciuki, ale problemem jest to, że obraz jest zbyt duży, aby zmienić rozmiar, albo z powodu braku pamięci lub czasu.
Więc zmiana rozmiaru nie jest opcją, jeśli nie, nie miałbyś problemu. Zamiast tego spróbuj ograniczyć obrazy, więc jeśli nastąpi przesłanie 20 MB, zostanie odrzucony komunikat z informacją, że należy go zmniejszyć.
Ograniczanie na podstawie obszaru obrazu / megapikseli:
Ograniczenia oparte na szerokości lub wysokości:
/wordpress//posts/67110/revisions
Ograniczenie według obszaru pozwoliłoby na zmianę rozmiaru wysokich / cienkich lub szerokich / krótkich obrazów, ograniczenie wymiarów może być łatwiejsze do wyjaśnienia
źródło
wp_handle_upload_prefilter
filtrze używanym w wymienionych powyżej, jakiś kod zmiany rozmiaru PHP zamiast dodania błędu może załatwić sprawę, pod warunkiem, że napiszesz z powrotem do oryginalnego pliku. Konieczne będą jednak testy