Doładuj swoje kategorie WordPress za pomocą bezpłatnych wtyczek
Opublikowany: 2022-02-16Ostatnio zastanawiałem się nad procesem tworzenia strony internetowej Travel. Mielibyśmy posty na blogu o konkretnych kurortach, a następnie niestandardową taksonomię o nazwie Destinations, która zawierałaby takie rzeczy jak „Hawaje” i „Wyspy Kanaryjskie”. WordPress został stworzony do tego typu rzeczy, więc sortowanie i porządkowanie postów według tych miejsc docelowych jest szybkie i łatwe.
Problem polega na tym, że kiedy przechodzę na stronę Archiwum z postami o Hawajach, nasze opcje informacji o Hawajach są dość ograniczone. Domyślnie terminy mogą mieć tylko nazwę, opis w postaci zwykłego tekstu, ślimak i powiązany element nadrzędny.
To, czego naprawdę chcę, to wyróżniony obraz, pola niestandardowe i pole opisu dynamicznego. Mógłbym uzyskać wszystkie te rzeczy, gdybym przekształcił miejsca docelowe w niestandardowy typ postów, ale wtedy zerwałbym ze wspaniałymi wbudowanymi relacjami, interfejsem użytkownika i szybkością taksonomii.
Na szczęście możemy to wszystko zdobyć dla terminów taksonomii i możemy to zrobić za pomocą darmowych wtyczek. Oto jak.
Przedstawiony obraz
Potrzebuję wyróżnionego obrazu, abym mógł go wyrenderować na górze mojej strony terminów. Posty z hasłem Hawaje otrzymają piękną plażową scenę na górze.
W tym celu użyjemy wtyczki „Prosty polecany obraz”. Od jakiegoś czasu nie był aktualizowany, ale nadal działa świetnie.
SFI tworzy stronę ustawień w menu Ustawienia, na której ustawiasz taksonomię, w której ma się pojawiać. Nie zapomnij o tym, bo będziesz strasznie zdezorientowany, jak go używać!
Po zainstalowaniu i aktywacji w formularzu nowych warunków i istniejących warunków zobaczysz takie pole:
Po kliknięciu przycisku Prześlij/Dodaj otwiera się normalny interfejs użytkownika biblioteki multimediów WordPress i ustawiasz polecany obraz, tak jak w przypadku postu.
Po wybraniu obrazu wygląda to tak:
A następnie na stronie administratora listy terminów zobaczysz coś takiego:
A potem mamy wyróżniony obraz!
Dynamiczny opis
Pole opisu dla warunków jest zwykłym tekstem, co nie jest złe, o ile nie chcesz niczego bardziej interesującego. Lubię dodawać edytor TinyMCE, który był domyślnym w WordPressie. W tym celu użyjemy wtyczki „Edytor opisów terminów wizualnych”.
WAŻNE: Wtyczka Yoast SEO również umożliwia tę funkcję. Jeśli już używasz Yoast, nie potrzebujesz tego. Jeśli nie używasz Yoast, nie instaluj go TYLKO dla tej funkcji.
Nie ma żadnych ustawień dla tej wtyczki, po prostu sprawia, że wszystkie opisy terminów we wszystkich taksonomach mają edytor TinyMCE. To wygląda tak:
A potem główna strona administratora listy terminów wygląda mniej więcej tak:
Więc teraz mamy wyróżniony obraz i lepsze opisy, ale chcę też trochę niestandardowych pól. Oto jak to zrobimy.
Pola niestandardowe
Term Meta istnieje jako funkcja WordPressa od dłuższego czasu, ale korzystanie z nich nadal jest trochę uciążliwe. W Smashing Magazine znajduje się wspaniały artykuł o tym, jak samemu je zbudować za pomocą kodu.
Możesz także użyć większości popularnych bibliotek pól niestandardowych, takich jak MetaBox.io i CMB2, aby nadal robić to za pomocą kodu, ale w płynny, ustandaryzowany sposób.
W tym poście wybierzemy najprostszy sposób, czyli Zaawansowane Pola Niestandardowe. Korzystamy z darmowej wersji znalezionej na WordPress.org. Oczywiście wersja pro też by działała.
Jeśli znasz już ACF, aby uzyskać niestandardowe pola w Warunkach, Twoja lokalizacja powinna wyglądać tak:
Dodałem grupę pól o nazwie Szczegóły miejsca przeznaczenia, ze standardowym polem typu „URL” w następujący sposób:
A w edytorze Term wygląda to tak:
Więcej pól niestandardowych
Nie dodałem więcej do moich przykładów, ale jestem pewien, że jeśli znasz ACF lub innego niestandardowego menedżera pola, możesz sobie wyobrazić moc. Oto kilka innych przykładów pól niestandardowych, które możesz dodać:
- Pola współrzędnych, dzięki czemu możesz renderować mapę Google
- Rzeczywiste pole mapy, które możesz po prostu kliknąć, aby uzyskać współrzędne
- Meta informacje o miejscu docelowym, takie jak populacja, jakość dróg, dostęp do międzynarodowego lotniska, ważne szczegóły kulturowe itp.
Lista ciągnie się tak daleko, jak tylko twoja wyobraźnia może to posunąć.

Korzystanie z tych informacji
Teraz, gdy Twoje warunki taksonomii stanowią źródło informacji, jak widzisz te informacje w swojej witrynie?
Tworzenie pliku szablonu
W tym przypadku będziesz tworzyć i edytować plik szablonu. Większość nowoczesnych motywów ma plik o nazwie archive.php i jest to plik, który renderuje twoje archiwum Post. Niektóre motywy mają również plik o nazwie category.php , który służy do wyświetlania archiwum postów w określonych kategoriach.
Jeśli dodałeś wszystkie powyższe pola do domyślnej taksonomii kategorii związanej z postami, będziesz chciał to zrobić w następnej części w category.php . Jeśli nie istnieje, możesz skopiować archive.php do category.php .
Jeśli używasz niestandardowej taksonomii, tak jak ja, będziesz chciał skopiować albo category.php albo archive.php do taksonomii-{taxonomy}.php , gdzie {taxonomy} jest ślimakiem twojej taksonomii. Ślimak można znaleźć, przechodząc do strony administratora taksonomii i szukając adresu URL. Utworzyłem taksonomię Destinations, ale mój ślimak to travel_destination i wygląda tak:
Mój plik szablonu nazywa się taksonomy-travel_destination.php .
Uzyskiwanie informacji
Przedstawiony obraz
Wtyczka, której użyliśmy, ma niestandardową funkcję do pobrania obrazu. Możesz wyświetlić wybrany obraz taksonomii w interfejsie za pomocą tej funkcji php.
wpsfi_display_image( $termID, $size = 'medium', $class = '', $width = '', $height = '' );
wpsfi_display_image( $termID, $size = 'medium', $class = '', $width = '', $height = '' );
Parametry:
- $termID – (liczba całkowita) taksonomia termID
- $size – (Ciąg) Rozmiar obrazu
- $class – (String) Dodaj własną klasę
- $width — (liczba całkowita) szerokość w pikselach
- $height – (liczba całkowita) wysokość w pikselach
Opis
Tak naprawdę nie zmieniliśmy sposobu działania opisu, tylko to, co możemy w nim wpisać w formularzu. Dlatego do drukowania opisów działają domyślne funkcje WordPressa.
get_the_archive_description() pobierze opis i pozwoli umieścić go w zmiennej lub przetworzyć za pomocą funkcji sanityzacji lub czegoś podobnego. Następnie możesz wydrukować tę zmienną w ten sposób:
$description = get_the_archive_description(); print wp_kses_post( $description );
$description = get_the_archive_description(); print wp_kses_post( $description );
Alternatywnie możesz po prostu użyć the_archive_description() , która wyświetli echo treści za Ciebie.
Pola niestandardowe
Sposób uzyskania pól niestandardowych zależy od tego, jak je utworzyłeś. Jeśli stworzyłeś własną wtyczkę, postępując zgodnie z instrukcjami w tym artykule Smashing Magazine, będziesz chciał użyć funkcji WordPress o nazwie get_term_meta() , która działa dokładnie tak samo, jak get_post_meta() . Przekazujesz mu TermID, klucz żądanego pola i flagę, aby pokazać, czy jest w liczbie pojedynczej czy mnogiej.
Jeśli korzystałeś z biblioteki takiej jak ACF, Metabox.io lub CMB2, prawdopodobnie będziesz chciał użyć ich niestandardowych funkcji do pobierania danych.
Na przykład użyliśmy ACF do utworzenia pola o nazwie more_information. Aby uzyskać zawartość tego pola, użyjesz czegoś takiego:
// get the current taxonomy term $term = get_queried_object(); // var $term_url = get_field( 'more_information', $term ); // make a link echo '<a href="' . esc_url( $term_url ) . '">More Information</a>';
// get the current taxonomy term $term = get_queried_object(); // var $term_url = get_field( 'more_information', $term ); // make a link echo '<a href="' . esc_url( $term_url ) . '">More Information</a>';
CMB2 i Metabox.io mają swoje własne metody, warto je zbadać w ich dokumentacji.
Streszczenie
Więc teraz na mojej wyimaginowanej witrynie podróżniczej każda lokalizacja, taka jak Hawaje, będzie miała u góry piękny baner, informacje o miejscu docelowym i kilka dodatkowych informacji, takich jak link, aby uzyskać więcej informacji i cokolwiek innego, co chcę umieścić w.
Zmienia to Twoje strony archiwum z prostej listy postów w coś, co wygląda jak dobrze zaprojektowana strona internetowa.