Sytuacja jest następująca: używam wtyczki Miniatury wideo, aby automatycznie pobierać i ustawiać miniatury youtube / vimeo jako obraz polecanych postów. Problem polega na tym, że domyślne rozmiary miniatur youtube / vimeo są nieco mniejsze niż szerokość głównej zawartości mojego motywu.
Potrzebuję więc ich skalowania. Jeśli przejdę do biblioteki multimediów, mogę edytować każdy obraz ręcznie, a następnie ustawić dokładną szerokość, a WordPress skaluje go dokładnie (nie mam nic przeciwko, że jakość jest nieco gorsza). Czy istnieje sposób, aby WP robiłoby to automatycznie za każdym razem, gdy obraz zostanie załadowany?
To jest mój zdefiniowany rozmiar obrazu: add_image_size('post-full', 688, 320, true);
rozmiar kciuka Vimeo to 640x320.
Odpowiedzi:
Możesz użyć natywnej funkcji Word_resize image_resize do skalowania obrazów. Wordpress udostępnia haczyk o nazwie „ image_resize_dimensions ”, którego można użyć do zastąpienia domyślnych ustawień przycinania. Oto zmodyfikowana funkcja, która będzie obsługiwać skalowanie w górę:
Teraz zaczep tę funkcję tak:
Gdy to zrobisz, możesz użyć funkcji image_resize, aby odpowiednio skalować obrazy w górę lub w dół.
źródło
if( is_array( $crop ) ) { if( $crop[ 0 ] === 'left' ) { $s_x = 0; } else if( $crop[ 0 ] === 'right' ) { $s_x = $orig_w - $crop_w;} if( $crop[ 1 ] === 'top' ) { $s_y = 0; } else if( $crop[ 1 ] === 'bottom' ) { $s_y = $orig_h - $crop_h; } }
add_image_size
. Wraz z wtyczką Regenerate Thumbnails.add_image_size
funkcją?najprościej byłoby dodać rozmiar obrazu 640x298 i użyć css, aby zmienić jego rozmiar. ponieważ jest to tylko niewielki wzrost skali, skalowanie przeglądarki powinno działać całkiem dobrze.
niestety wszystkie znane mi wtyczki nie zapewniają skalowania obrazu, tylko generowanie mniejszych rozmiarów obrazu, więc jeśli chcesz mieć 688x320 na swoim serwerze, musisz edytować jedną z istniejących wtyczek.
jeśli masz zainstalowany Imagick, możesz zmienić wtyczkę w pliku video-thumbnails.php w linii 325, generując większą wersję miniatury, używając tego kodu:
i niech wordpress wygeneruje z niego mniejszą miniaturę (obcięcie wysokości). Pamiętaj, aby w kodzie Imagick utworzyć różne rozmiary obrazów dla różnych platform wideo!
źródło