Czy istnieje sposób, aby umożliwić moim użytkownikom zdefiniowanie obszaru kadrowania miniatury postu? Miniatury zawsze są istniejącymi załącznikami postów, wolałbym nie tworzyć dodatkowego załącznika dla miniatury.
Miniatury postów powinny mieć wymiary 200 x 100 pikseli i powinny pochodzić z jednego z obrazów użytych w poście. Tak więc w moim idealnym świecie po kliknięciu łącza „Ustaw wyróżniony obraz” uzyskuje się przegląd już dołączonych obrazów, a po kliknięciu jednego z nich można samodzielnie zdefiniować obszar przycinania (przenoszenie lub zmianę rozmiaru, ale zachowanie współczynnik kształtu 2x1). Po kliknięciu przycisku „OK” nowa miniatura postu jest zapisywana z oryginalnym załącznikiem ( _wp_attachment_metadata['sizes']['post-thumbnail']
na przykład w polu metadanych), a nie jako nowy załącznik. Używanie obrazu, który jest już używany jako miniatura posta dla innego postu, nie powinno być dozwolone, a przynajmniej ostrzegać.
Uważam, że dołączony edytor obrazów nie będzie odpowiadał moim potrzebom, ponieważ możesz edytować wszystkie wersje obrazu lub zwykłą miniaturę, ale nie tylko miniaturę postu. Trochę kłopotliwe jest też wiedzieć, które wersje edytuję, więc myślę, że moi użytkownicy będą mieli z tym jeszcze więcej problemów.
Czy istnieje wtyczka, która robi to, co chcę, lub którą mogę z łatwością rozszerzyć na moje potrzeby?
Aktualizacja: przykładowy interfejs użytkownika
Naprawdę podoba mi się interfejs selektora obrazów Książki adresowej Mac OS X: wybierasz obraz i zmieniasz rozmiar miniaturowego narzędzia do przycinania miniatur za pomocą suwaka. Możesz także przeciągnąć obraz podstawowy. Możesz rozwinąć ten pomysł do wielu rozmiarów obrazu (mam na przykład post-thumbnail
i post-thumbnail-1/2
to o połowę mniejszy rozmiar). Pozwól użytkownikowi wybrać rozmiary, które teraz edytuje, za pomocą pól wyboru i narysuj odpowiednie prostokąty kadrowania na ekranie.
źródło
Odpowiedzi:
Kod nadal jest bałaganem, ale wydaje się, że działa, nawet w IE 8. Planuję wypuścić go w repozytorium, ale w międzyczasie możesz grać z moją bieżącą wersją . Aby uzyskać do niego dostęp, klikasz „Edytuj obraz” podczas dodawania lub edycji obrazu, zastępuje on zwykły edytor obrazów (bardzo trudno je połączyć). Ponieważ większość obszaru administracyjnego używa zwykłej miniatury, a moja bieżąca wersja edytuje miniaturę postu, może się wydawać, że kod nie ma żadnego efektu, ale wypróbuj go, wyświetlając miniaturę postu i powinieneś zobaczyć, jak się zmienia.
Ta wtyczka wymaga mojego programu Image Resizer Image Resizer , który nadal jest bałaganem, aby dokonać rzeczywistej zmiany rozmiaru.
źródło
Najlepszym rozwiązaniem jest użycie przycięcia obrazu opartego na javascript, a następnie php w połączeniu z ImageMagick lub Image GD.
Musiałby zostać zapisany w twoich funkcjach lub jako wtyczka, ponieważ nie znam od razu żadnych gotowych wtyczek wordpress, co jest zaskakujące.
Istnieje przycięcie obrazu YUI z opcją zapisu opartą na php http://developer.yahoo.com/yui/examples/imagecropper/conn_crop.html
Oto inny samouczek na temat używania jquery cropper z php
http://www.webmotionuk.co.uk/php-jquery-image-upload-and-crop/
Trzecia opcja bardzo podobna do powyższego linku z użyciem tego samego narzędzia do przekierowywania, ale innego kodu. http://www.leonkessler.com/blog/?p=132
Oto inny z użyciem jcrop jquery zamiast: http://www.talkincode.com/jcrop-extension-implementation-in-php-932.html
Kto jest gotowy na nową wtyczkę, to z pewnością będzie popularne :)
źródło
Zakładając, że dodałeś już obsługę miniatur postów, gdy mówisz o opcji „Polecane zdjęcie”.
Jeśli tak, jedną z dostępnych opcji jest dodanie nowego rozmiaru obrazu do tablicy przesyłania. Tak więc domyślnie masz miniaturę, średnią, dużą. W poniższym fragmencie kodu dodaje to czwarty obraz do tego asortymentu, w zależności od pożądanego rozmiaru. Ten fragment kodu zostałby dodany do pliku functions.php.
„new-thumb” = nazwa nowego niestandardowego obrazu
„200” = szerokość
„100” = wysokość
„true” = opcja twardego przycinania. Wymusi to przycięcie obrazu do zdefiniowanej szerokości / wysokości. Bez tego po prostu skaluje się do proporcji.
Teraz, aby wyświetlić nową miniaturę na tablicy strony lub postu, wstawisz następujące elementy do kodu HTML
źródło
Możesz użyć CSS, aby mieć dużą elastyczność, naprawić miniaturki w swoim motywie (jeśli chcesz) i uniknąć bałaganu plików:
http://www.seifi.org/css/creating-thumbnails-using-the-css-clip-property.html
Pamiętaj, że cały obraz zostanie załadowany, więc nie używaj do tego swoich 3 MB oryginałów.
Zaktualizuj zgodnie z żądaniem stycznia: jeśli chcesz dynamicznego obcinania, rozważ:
źródło
Istnieje starsza wtyczka o nazwie WP Post Thumbnail, z której czasami korzystamy. To nie jest idealne i są pewne drobne błędy w najnowszej wersji WP (nie była aktualizowana od 2008 roku, więc niekoniecznie jest niezawodna). http://wordpress.org/extend/plugins/wp-post-thumbnail/
źródło
Wierzę, że szukasz tego: http://wordpress.org/support/topic/scissors-for-wordpress-29-also-works-on-30-hurray
Nie wypróbowałem tego, ale powinno ono zaoferować funkcjonalność, której szukasz.
Oryginalna strona wtyczki tutaj. http://wordpress.org/extend/plugins/scissors/
Potrzebuję tego również do projektu, nad którym pracuję.
źródło
Myślę, że najlepszym rozwiązaniem tego problemu byłaby modyfikacja wtyczki z http://www.seoadsensethemes.com/wordpress-wp-post-thumbnail-plugin/
i dostosuj go tak, aby wszelkie niestandardowe rozmiary obrazów zdefiniowane w pliku functions.php (za pomocą
add_image_size( 'new_thumb', 200, 100, true );
) automatycznie zostały użyte, a następnie uzyskaj kod zastępujący (lub rozszerzający) link „edytuj”, gdy chcesz zmodyfikować obraz.Korzystając z tego podejścia, wordpress może nadal tworzyć odpowiednie rozmiary obrazów, jak zwykle, ale jeśli chcesz specjalnie zmodyfikować przycięty obszar dowolnego określonego obrazu, możesz to zrobić, co z kolei zastąpiłoby automatycznie generowany obraz dla tego rozmiaru. Hmmm ... chociaż to znowu mylące czytanie, to dokładnie to, czego według mnie brakuje.
Obecnie uważam, że wtyczka zapisuje te niestandardowe rozmiary obrazów w niestandardowym polu wewnątrz postu zamiast postu dla odpowiedniego obrazu.
źródło
Zdecydowałem się przyciąć miniatury przy użyciu natywnego „wp_get_attachment_image” ... oto przykład galerii zdjęć z przyciętymi miniaturami
http://wpworks.wordpress.com/2010/12/27/image-gallery-with-image-crop/
Z poważaniem
źródło