zrozumienie „pętli” w WordPress

pętla

ten artykuł jest częścią serii stworzonej we współpracy z SiteGround. Dziękujemy za wsparcie partnerów, którzy umożliwiają SitePoint.

omawiając WordPress, a w szczególności rozwój motywów (lub tworzenie nowych szablonów stron wewnątrz istniejącego motywu), nieuchronnie napotkasz „pętlę”. Pętla jest ramą, w której WordPress konstruuje zawartość dla dowolnej strony odwiedzanej przez użytkownika, niezależnie od tego, czy jest to statyczna strona główna, Czy widok bloga prezentujący ostatnie posty, czy coś pomiędzy. Może to zabrzmieć trochę skomplikowanie, ale tak naprawdę to tylko mechanizm zapętlający.

pętla, w najprostszym sensie, jest strukturą pętli, jak każda inna w programowaniu. Iteracje przez to, co sprowadza się do listy wszystkich treści witryny, przechodząc przez posty lub strony i pobierając żądaną treść z nich. Co najbardziej skomplikowane, możesz uruchomić pętlę wiele razy, pobrać tylko niektóre elementy z określonych kategorii, tylko elementy nie w określonych kategoriach, te opublikowane w zakresie dat lub z innymi konkretnymi informacjami identyfikacyjnymi.

każdy szablon strony w ramach motywu WordPress będzie prawdopodobnie zawierał pętlę. Jest to jeden ze sposobów, w jaki szablon może wyszukiwać i pozyskiwać treści z twoich stron i postów, które są przechowywane w bazie danych. Rzućmy okiem na kilka szczegółów:

podstawowy przykład pętli

<?php if ( have_posts() ) { while ( have_posts() ) { the_post(); // Post Content here }}?>

w powyższym przykładzie widać, że jest to naprawdę dość prosta konfiguracja. Cała sprawa zaczyna się od warunku, z have_posts sprawdzając, aby upewnić się, że w rzeczywistości są jakieś posty do znalezienia. Następnie następuje pętla-podczas gdy są jeszcze posty (ponownie używając have_posts), iteracja przechodzi przez następny post i wywołuje the_post – co odnosi się do tego, który jest obecnie iterowany.

konkretne zapytania

jeśli twoje potrzeby są bardziej zaawansowane niż zwykłe zwracanie każdego postu, który znajduje się w Twojej witrynie, musisz ograniczyć swoje zapytania. To tutaj WP_Query wchodzi w grę.

Filtrowanie według kategorii

w poniższym przykładzie, zmodyfikowanym na podstawie przykładu w Kodeksie, zapytamy o posty należące do kategorii o id 4. Następnie możesz zobaczyć próbkę zawartości samej pętli. Tutaj sprawdzamy posty o ID kategorii 4, a następnie w div .post wyświetlamy tytuł postu (połączony z postem), datę postu, zawartość postu i metadane postu.

<!-- Query for posts which are in category 4 --><?php $query = new WP_Query( array( 'cat' => 4 ) ); ?><!-- Begin The Loop --><?php if ( $query->have_posts() ) { while ( $query->have_posts() ) { $query->the_post(); ?> <div class="post"> <!-- Display the Title as a link to the Post's permalink. --> <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2> <!-- Display the date (November 16th, 2009 format) and a link to other posts by this posts author. --> <small><?php the_time( 'F jS, Y' ); ?> by <?php the_author_posts_link(); ?></small> <!-- Display the post content --> <div class="entry"> <?php the_content(); ?> </div> <!-- Display the post metadata --> <p class="postmetadata"><?php _e( 'Posted in' ); ?> <?php the_category( ', ' ); ?></p> </div> }}

użycie WP_Query może prowadzić do bardzo konfigurowalnych wyników. Możesz dodawać posty tylko z jednej lub kilku kategorii lub zawierać wszystkie z wyjątkiem tych z jednej lub innej kategorii. Możesz wyszukiwać i zwracać posty zawierające słowo kluczowe lub wyszukiwać posty według identyfikatora, używać post_type, aby wyświetlać tylko dane ze stron i nie tylko. Jeśli chcesz dowiedzieć się więcej o WP_Query, zapoznaj się z dokumentacją WP_Query.

Wskazówka: numer identyfikacyjny kategorii można uzyskać na kilka sposobów. Jednym z łatwych sposobów jest przejście do „postów”, a następnie” kategorii ” w swoim WP-Admin. Kliknij prawym przyciskiem myszy żądaną nazwę kategorii na liście i zapisz adres URL. Następnie wklej go w edytorze tekstu lub notatniku gdzieś i spójrz. Jako przykład, może to wyglądać mniej więcej tak: http://example.com/wp-admin/term.php?taxonomy=category&tag_ID=4&post_type=post&wp_http_referer=%2Fwp-admin%2Fedit-tags.php%3Ftaxonomy%3Dcategory – szukasz numeru tag_ID!

Filtrowanie według niestandardowych wartości pól

niestandardowe pola dostępne w WordPress mogą być fantastycznie przydatne, a czasami może być konieczne filtrowanie postów według wartości ustawionych w nich. Proste zadanie, ale warto pokazać początkującym programistom WordPress (lub tym, którzy nie zagłębili się daleko w niestandardowe szablony lub pętlę), aby uświadomić sobie, jak to wszystko można dostosować. Powiedz, że masz pole niestandardowe department i szukasz postów o wartości marketing:

$query = new WP_Query( array('meta_key' => 'department', 'meta_value' => 'marketing') );

zrozumienie „pętli”

naprawdę najlepszym sposobem na zrozumienie pętli jest jej użycie. Użyj go, aby pobrać zawartość w szablonach utworzonych dla motywów lub w kodzie dostosowanym w istniejących szablonach w istniejących motywach. Jeśli chcesz coś zrobić, filtruj określone kryteria, Uruchom pętlę ponownie-sprawdź dokumentację pętli w Kodeksie lub naciśnij Google, aby znaleźć pomysły. Niebo jest granicą!

Jeśli szukasz miejsca na hosting swojej witryny WordPress po zbudowaniu szablonów i opracowaniu pętli, spójrz na naszego partnera, SiteGround. Mają niedrogi hosting WordPress dostępny, z instalacją jednym kliknięciem, środowiskami inscenizacyjnymi i nie tylko!

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.