
Owen Little
0
4641
1150
Wielu blogerów będzie szukało wysokiego i niskiego poziomu w poszukiwaniu idealnego widżetu WordPress, który zrobi dokładnie to, co chce, ale przy odrobinie doświadczenia w programowaniu możesz łatwiej napisać niestandardowy widżet.
W tym tygodniu chciałbym pokazać, jak to dokładnie zrobić, a widżet, który będziemy pisać, jest prosty, który wybiera pojedynczy losowy post z Twojej witryny, wyciąga wyróżniony obraz i wyświetla go na pasku bocznym - wizualnie “Sprawdź to” widget, który pomoże użytkownikom znaleźć więcej treści w Twojej witrynie.
Jest to również rozszerzenie ciągłej serii, w której pokazuję, jak łatwo jest dostosować szablon WordPress 2 Nowe fajne wtyczki Wordpress i zrozumienie struktury motywu Wordpress 2 Nowe fajne wtyczki Wordpress i zrozumienie struktury motywu Wordpress W tym tygodniu rzuć okiem na doskonałą alternatywę dla często chwalonego SEO typu „wszystko w jednym”; wtyczka, która daje moc systemu wydawniczego Wordpress, ale umożliwia wyświetlanie… .
Być może z przyjemnością dowiesz się, że dodaliśmy nową kategorię Samouczków WordPress do MakeUseOf, więc sprawdź to, aby znaleźć stale rosnące archiwum aktualnych wskazówek i przewodników po ulubionej platformie blogowej na świecie.
Kluczowe pojęcia: zapytania WordPress i pętla
Każda strona Twojego bloga składa się z zapytania do bazy danych postów. W zależności od przeglądanej strony zapytanie zmieni się. Twoja strona główna bloga może na przykład użyć zapytania “pobierz 10 najnowszych postów na blogu“. Podczas przeglądania archiwów kategorii zapytanie może zmienić się na “uzyskaj 20 najnowszych postów tylko dla zdjęć rodzinnych kategorii, uporządkuj wyniki według daty opublikowania“. Każde zapytanie zwróci zestaw wyników i, w zależności od użytego szablonu strony, każdy wynik zostanie uruchomiony przez główny “pętla” szablonu.
Każda strona może w rzeczywistości składać się z więcej niż jednego zapytania, a nawet można tworzyć własne zapytania, aby dodać funkcjonalność do różnych miejsc w szablonie. Przykład tego można znaleźć na dole tego artykułu - na każdej stronie jest kilka dodatkowych zapytań, które mają na celu pokazanie powiązanych artykułów, które mogą Cię zainteresować, lub artykułów, które są popularne w tym tygodniu.
Aby jednak utworzyć nasz niestandardowy widget, musimy po prostu utworzyć dodatkowe zapytanie, które pobierze X losowych postów plus ich obrazy i wyświetli je w jakiś sposób na pasku bocznym. W zeszłym tygodniu pokazałem ci kod do pobrania polecanego obrazu Jak ulepszyć Wordpress, dodając wyróżnione obrazy Jak ulepszyć Wordpress, dodając wyróżnione obrazy Polecane obrazy zostały wprowadzone do Wordpress w wersji 2.9 i umożliwia łatwe wyświetlanie obraz powiązany z postem na blogu w różnych częściach motywu. Dzisiaj chciałbym pokazać…, więc naprawdę musimy tylko wiedzieć, jak utworzyć nowy widżet WordPress i umieścić go na pasku bocznym.
Podstawowy kod widżetu
Zacznij od utworzenia nowego pliku .php w swoim wp-content / plugins informator. Możesz również postępować zgodnie z samouczkiem offline, a następnie przesłać go za pomocą interfejsu WordPress, ale uważam, że łatwiej jest pisać w miarę postępów w razie potrzeby debugowania. Nazwij swój plik, jak chcesz, ale idę random-post-widget.php
Wklej następujące elementy do pliku i zapisz. Zmień sekcję u góry z moim imieniem, ale nie zmieniaj jeszcze reszty kodu. Jest to w zasadzie szkielet pustego widżetu i widać, gdzie jest napisane // KOD WIDŻETU JEST TUTAJ tam dodamy naszą funkcjonalność w późniejszym terminie.
„RandomPostWidget”, „description” => „Wyświetla losowy post z miniaturą”); $ this-> WP_Widget („RandomPostWidget”, „Random Post and Thumbnail”, $ widget_ops); formularz funkcji ($ instance) $ instance = wp_parse_args ((array) $ instance, array ('title' => ")); $ title = $ instance ['title'];?> To jest mój nowy widget!"; echo $ after_widget; add activity ('widgets_init', create_function (", 'return register_widget ("RandomPostWidget");'));?>
W tej chwili wtyczka niewiele robi poza wydrukowaniem dużego tytułu ze słowami “To jest mój nowy widget!“.
Daje to jednak możliwość zmiany tytułu, który jest niezbędny dla każdego widżetu. Dodanie innych opcji jest dziś nieco poza zakresem tego artykułu, więc na razie przejdźmy do tego, aby nadać mu prawdziwy cel.
Nowe zapytanie i pętla
Aby utworzyć nowe zapytanie do bazy danych blogów, musisz użyć query_posts () funkcja wraz z kilkoma parametrami, a następnie uruchom dane wyjściowe za pomocą pętli while. Spróbujmy tego - bardzo proste zapytanie i pętla do zademonstrowania. Zamień wiersz kodu, który mówi:
To jest mój nowy widget!
z następującymi:
// WIDGET CODE GOES HERE query_posts ("); if (have_posts ()): while (have_posts ()): the_post (); the_title (); endwhile; endif; wp_reset_query ();
Jest to absolutnie podstawowe zapytanie przy użyciu domyślnych opcji i zerowego formatowania wyniku. W zależności od konfiguracji Twojego bloga domyślnie najprawdopodobniej będzie pobierać 10 najnowszych postów - wtedy wszystko, co robi powyższy kod, to wyświetlanie tytułu każdego postu. Jest to dość brzydkie, ale działa:
Możemy od razu trochę poprawić, dodając formatowanie HTML do wyjścia za pomocą ECHO polecenie i utworzenie łącza do postu za pomocą get_the_permalink () funkcjonować:
query_posts ("); if (have_posts ()): echo"
-
- “; while (have_posts ()): the_post (); Echo ”
- “.get_the_title ().”
“; w końcu; Echo ”
“; endif; wp_reset_query ();
Już wygląda znacznie lepiej. Ale chcemy tylko jednego posta, wybieranego losowo. Aby to zrobić, określamy niektóre parametry w zapytaniu:
query_posts ('posts_per_page = 1 & orderby = rand');
Oczywiście możesz zmienić go na dowolną liczbę postów - w rzeczywistości istnieje cały szereg dodatkowych bitów, które możesz przekazać do zapytania w celu ograniczenia, rozwinięcia lub zmiany kolejności wyników, ale trzymajmy się tego teraz. Jeśli odświeżysz, zobaczysz tylko jeden post, który jest losowy przy każdym odświeżeniu.
Teraz polecana miniatura. Zamień kod na ten, mam nadzieję, że zobaczysz, gdzie przechwytujemy miniaturę i wyświetlamy ją:
query_posts ('posts_per_page = 1 & orderby = rand'); if (have_posts ()): echo "
-
- “; while (have_posts ()): the_post (); Echo ”
- “.get_the_title (); echo the_post_thumbnail (tablica (220,200)); Echo “
“; w końcu; Echo ”
“; endif; wp_reset_query ();
Gotowe wyniki możesz ponownie zobaczyć na moim blogu programistycznym Przewodnik po samowystarczalności, choć do czasu przeczytania tego tekstu mogłem już coś zmienić..
Wniosek:
Zobacz, jak łatwo jest stworzyć własny widget, który może robić dokładnie to, co chcesz? Nawet jeśli nie rozumiesz 90% kodu, który pokazałem ci dzisiaj, nadal powinieneś być w stanie go nieco dostosować, po prostu zmieniając zmienne lub wypisując inny HTML. Napisaliśmy dzisiaj cały widget, ale możesz łatwo użyć nowego kodu zapytania i pętli w dowolnym szablonie strony.