Generator pętli w WordPress [wp_query]

Bardzo ważną funkcją w WordPressie jest ‚the_post()’, która zawiera wszystkie zmienne dotyczące wpisu lub strony. Pętla obiektu wp_query to kod PHP używany przez WordPress do wyświetlania postów. Używając pętli, WordPress przetwarza każdy wpis, który ma być wyświetlany na bieżącej stronie i formatuje go zgodnie z zadanymi kryteriami. Każdy kod HTML lub PHP w pętli będzie przetwarzany w każdym poście.


Żeby wyświetlić treść wpisu lub listę stron trzeba wykonać pętlę obiektu wp_query. Dla określonych plików (np.: page.php lub single.php) parametry pętli są z góry określone i dotyczą konkretnych danych. Co jeśli na stronie potrzebujemy informacji o niestandardowych postach lub najstarszych wpisach? Wtedy z pomocą przychodzi możliwość stworzenie własnej pętli.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// WP_Query arguments
$args = array(
    'post_type' => array( 'post' ),
    'posts_per_page' => '3',
    'order' => 'DESC',
    'orderby' => 'date',
);

// The Query
$query_news = new WP_Query( $args );

// The Loop
if ( $query_news->have_posts() ) {
    while ( $query_news->have_posts() ) {
        $query_news->the_post();
        // do something
    }
} else {
    // no posts found
}

// Restore original Post Data
wp_reset_postdata();

Zacznijmy od tablicy argumentów $args.

  1. ‚post_type’ – tablica typów postów z których chcemy skorzystać (np. post lub page)
  2. ‚post_per_page’ – ilość zwróconych postów
  3. ‚order’ – sortowanie wyników
  4. ‚orderby’ – pole wg którego sortujemy wyniki

Tablicę taką wprowadzamy jako parametr dla nowego obiektu klasy WP_Query. Wynik przypisujemy do zmiennej – w tym przypadku $query_news.

Kolejnym krokiem jest rozpoczęcie pętli. Dobrym zwyczajem jest sprawdzenie, czy nasze zapytanie zwróciło wynik. Jeżeli tak, można zająć się wyświetleniem danych. Od sprawdzenia wielkości wyniku mamy funkcję ‚have_post()’. Jeżeli funkcja zwróci wynik pozytywny rozpoczynamy pętlę. Jeżeli nie, należy opracować informację dla pustego wyniku.

Na koniec należy zresetować pętle przy użyciu funkcji wp_reset_postdata().

Inne ciekawe opcje pętli:

1
2
3
4
5
6
$args = array(
    'post_status' => array( 'publish', 'trash' ),
    's' => 'lorem ipsum',
    'paged' => '2',
    'posts_per_page' => '10',
);
  1. ‚post_status’ – tablica z dozwolonymi typami stanu postu. W tym przypadku mają być te opublikowane i wrzucone do śmieci.
  2. ‚s’ – parametr wyszukiwania, zawiera zwrot do wyszukania.
  3. ‚paged’ – strona wyników. W tym przypadku posty od 11 do 20.
  4. ‚posts_per_page’ – ile postów na stronę.

Link do generatora

Generator pętli w WordPress

1 komentarz do wpisu “Generator pętli w WordPress [wp_query]

Dodaj komentarz

Privacy Preference Center

Treść banner z cookies

Podczas Twojej wizyty na naszej stronie internetowej, automatycznie zbierane są dane dotyczące Twojej wizyty, np. Twój adres IP, nazwa domeny, typ przeglądarki, typ systemu operacyjnego, itp. Dane te zbierane są za pośrednictwem oprogramowania analitycznego Google Analytics.

"Cookies" to pliki tekstowe przechowywane w urządzeniach użytkowników, przeznaczone do przeglądania stron internetowych.
"Cookies" używane są w celu personalizacji korzystania z przeglądarki, jak również pozwalają określać sposób korzystania użytkowników ze stron internetowych. Ciasteczka możemy wykorzystywać do obsługi programu partnerskiego. Przetrzymują one dane, dzięki którym jesteśmy w stanie zidentyfikować partnera. Dane osobowe gromadzone przy użyciu plików „cookies” mogą być zbierane wyłącznie w celu wykonywania określonych funkcji i aktywności (np. zakup usługi związany z wypełnieniem tych danych). Dane osobowe są zaszyfrowane w sposób uniemożliwiający dostęp do nich osobom nieuprawnionym. Rozróżniamy "cookies" sesyjne (tymczasowe) oraz stałe. "Cookies" sesyjne przechowywane są na urządzeniu użytkownika do momentu wylogowania ze strony internetowej lub jej wyłączenia. „Cookies" stałe przechowywane są przez zdefiniowany czas. Użytkownik może dokonać właściwej konfiguracji przeglądarki, aby zablokować automatyczne akceptowanie plików "cookies" lub uzyskać każdorazową informację o przesłaniu takiego pliku na urządzenie użytkownika. Informacje o możliwych konfiguracjach „cookies” dostępne są w ustawieniach przeglądarki. Wprowadzenie ograniczeń dotyczących stosowania plików „cookies” może wpłynąć na prawidłowe użytkowanie strony internetowej (np. brak możliwości zalogowania się).

google analitycs