Rzadkie wydarzenie - chcę coś zrobić w WordPress, ale nie mam pojęcia, jak to zrobić, a wyszukiwanie dosłownie nic.
Kiedy wstawiasz obraz do postu, masz opcje wyrównania: „brak”, „lewy”, „prawy”, „środkowy”. Powoduje to wstawienie obrazu z klasą CSS związaną z wyrównaniem, taką jak „alignleft”, „alignright” lub „aligncenter”.
Wspaniały.
Co jeśli mój motyw byłby nieco bardziej złożony i chciałbym tutaj dodać kilka opcji, które podobnie jak opcje podstawowe dodałyby nową klasę CSS do wstawianych obrazów? Na przykład - opcja „prawego marginesu”, którą mógłbym zaprojektować za pomocą fantazyjnego CSS, aby uzyskać bardziej złożone układy?
Jakieś wskazówki, od czego mógłbym zacząć?
Odpowiedzi:
Zgadzam się z Davidem-Bindą - świetne pytanie! Wielokrotnie napotkałem ten problem i wpadłem na rozwiązanie, które działa całkiem dobrze. Chociaż podoba mi się pomysł dodania krótkiego kodu w celu wstawienia obrazu z klasami, jak sugeruje pavlos-bizimis , nie sądzę, że tak naprawdę rozwiązuje ten problem tak elegancko, jak dodanie opcji do wyskakującego okienka edycji obrazu (na przykład prawdopodobnie będziesz musiał zawiń obraz w swoim krótkim kodzie, chyba że wolisz ręcznie wpisywać identyfikator obrazu). Ponadto, dla niektórych moich klientów nawet krótki kod jest zbyt skomplikowany (w takim przypadku możesz powiązać go z przyciskiem TinyMCE poza kursem).
W każdym razie
bez zbędnychceregieli - oto moje pięć centów. Korzystam z tego rozwiązania we wtyczce pokazu slajdów, która daje mi opcje włączenia / wyłączenia obrazu z pokazu slajdów i ustawienia koloru tła dla nakładki pokazującej zawartość niektórych pól meta obrazu. W zasadzie to na hakiattachment_fields_to_edit
orazattachment_fields_to_save
w celu dodania pól wejściowych i zapisać dane z formularza odpowiednio. Dane te będą dostępne jako standardowa meta post dla postu w załączniku (tj. Edytowany obraz). Jest to świetne, ponieważ można je łatwo odzyskać,get_post_meta()
jak zwykle. Powinieneś także dodać filtr dowp_get_attachment_image_attributes
lub,image_send_to_editor
który pozwoli ci automatycznie dodać odpowiednią klasę za każdym razem, gdy obraz jest wyprowadzany.Zmodyfikowałem nieco kod w celu zwiększenia czytelności, więc niektóre części mogą być niekompletne / błędne.
AKTUALIZACJA : Właśnie skopiowałem ten kod, aby użyć go jako bojlera w projekcie, nad którym pracuję. Jak zapewne widać po zapoznaniu się z kodem, lubię przechowywać meta-klucze wpisu w zdefiniowanych stałych. Kiedy to robię, zawsze poprzedzam wartość,
_
aby nie wyświetlała się w edytorze pól meta, ale ta praktyka może powodować pewne problemyattachment_fields_to_save
. Klucze w$form_fields
tablicy nie mogą zaczynać się od_
, dlatego należy uważać, aby używać różnych kluczy dla tablicy i wartości meta, lub przycinać podkreślenia podczas obsługi pól załączników. PonieważSLIDESHOW_EXCLUDE_IMAGE_KEY
w moim przykładzie nie jest nawet zdefiniowane, prawdopodobnie nie jest to wielka sprawa podczas kopiowania kodu, ale pomyślałem, że i tak o tym wspomnę. Zajęło mi to trochę czasu (i po raz drugi).źródło
Dobre pytanie. To pytanie ma rozwiązanie. Być może poniższy kod jest zdecydowanie za długi, ale nie może być krótszy. Chodzi o to, że możesz usunąć hak wp_footer i wp_admin_footer dla funkcji wp_print_media_templates i zastąpić ją własną funkcją wp_print_media_templates z opcjami niestandardowymi. Po prostu umieszczając kod poniżej w twoich funkcjach. Php zastąpi funkcję początkową i pozwoli ci modyfikować klasy po wierszu z komentarzem HTML <! - USTAW SWOJE KLASY TUTAJ -> Klasy są wstawiane do krótkiego kodu galerii w ten sposób:
wartość ustawiona jako MyClass1 tworzy alignMyClass1.
Jeśli chcesz ustawić klasy bez prefiksu „wyrównaj”, musisz zmodyfikować wstawianie krótkiego kodu JavaScript do obszaru tekstowego treści postu i może to być zbyt skomplikowane w porównaniu do zmiany nazwy klas w CSS. Enyoj!
źródło
Może powinieneś utworzyć krótki kod do wstawiania obrazu z atrybutami klasy. Widziałem to w wielu komercyjnych tematach.
źródło
Możesz użyć unikalnego identyfikatora obrazu, aby indywidualnie stylizować określone obrazy.
źródło