wykonuj zapytania w WordPress z WP_Query

opublikowany w WordPress przez Samantha Rodriguez

Ostatnia aktualizacja 24 lutego, 2020

baza danych, która karmi Twoją witrynę WordPress, jest pełna cennych informacji. Dzięki temu możliwe jest filtrowanie postów i stron według wielu różnych zmiennych. Jeśli jednak to, co chcesz wyświetlić, nie jest częścią Twojego motywu, istnieją inne sposoby wykorzystania tych danych.

tu wkracza WP_Query. Jest to klasa PHP, która korzysta z wielu różnych parametrów. W związku z tym umożliwia pobieranie danych z bazy danych WordPress do użytku lub wyświetlania na swojej stronie internetowej.

w tym artykule przedstawimy głębsze zrozumienie klasy WP_Query i sposobu jej użycia. Przeprowadzimy Cię również przez kilka ważnych kroków, które należy wykonać podczas korzystania z niego. Jeśli jesteś gotowy, zanurzmy się!

co to jest WP_Query?

jak już wspomnieliśmy, WP_Query jest klasą PHP używaną przez bazę danych WordPress. Ta konkretna klasa może zrobić kilka rzeczy, ale przede wszystkim jest używana do pobierania postów z bazy danych.

jak sama nazwa wskazuje, wykonuje zapytanie na podstawie ustawionych dla niego kryteriów. Ponieważ istnieje wiele parametrów, których możesz użyć z WP_Query w WordPress, możesz pobierać i wyświetlać posty na wiele unikalnych sposobów. Omówimy te opcje bardziej szczegółowo w dalszej części tego postu.

Jak korzystać z WP_Query

nawet jeśli dopiero uczysz się różnych aspektów bazy kodu WordPress, WP_Query jest dobrą klasą, z którą można zacząć. Teraz omówmy cztery różne sposoby korzystania z niej na swojej stronie internetowej.

zacznij od niestandardowej pętli

jednym z najlepszych sposobów na poznanie połączenia WP_Query jest pętla WordPress. Jeśli nie jesteś zaznajomiony z tym, czym jest pętla, jest to ważna koncepcja do przeczytania.

pętla jest tym, co wywołuje bazę danych z prośbą o zawartość posta i wyświetla dane, które są zwracane. Działa również w oparciu o ustawione parametry, takie jak liczba postów, które chcesz wyświetlić na jednej stronie (coś można skonfigurować w Ustawieniach > menu czytania).

podstawy pętli wyglądają tak:

<?php
if ( have_posts() ) :
while ( have_posts() ) : the_post();
// Display post content
endwhile;
endif;
?>

to proste stwierdzenie zasadniczo mówi, że jeśli są posty, powinny być wyświetlane. Oczywiście możesz dodać szeroką gamę tagów szablonów do tej podstawy, aby stworzyć żądany wyświetlacz.

Możesz również wstawić WP_Query do pętli. Pozwala to na umieszczenie parametrów na jakie posty zostaną zwrócone. Podzielmy się tym, jak by to wyglądało:

<?php
// The Query
$the_query = new WP_Query( $args );
// The Loop
if ( $the_query->have_posts() ) {
echo '<ul>';
while ( $the_query->have_posts() ) {
$the_query->the_post();
echo '<li>' . get_the_title() . '</li>';
}
echo '</ul>';
} else {
// no posts found
}
/* Restore original Post Data */
wp_reset_postdata();

zobaczysz te same instrukcje if / while z pętli basic, ale istnieje dodatkowy ciąg WP_Query. Niezależnie od tego, jakie parametry są tutaj ustawione, zadecydują o tym, jakie posty będą wyświetlane.

na przykład, jeśli chcesz wykluczyć określonego autora z listy postów, możesz to zrobić w pętli za pomocą WP_Query:

$query = new WP_Query( array( 'author' => -12 ) );

umieszczając to w pętli, wyświetlane posty nie będą już zawierać użytkownika z numerem autorskim „12”.

liczba parametrów, których możesz użyć w tej metodzie, jest prawie nieskończona. Możesz dołączyć informacje o kategoriach, a także zaawansowane taksonomie, aby podać dwa przykłady.

: Trzon zapytań niestandardowych w WordPress

w poprzednim przykładzie mogłeś zauważyć „($args) ” jako część ciągu znaków. Jest to istotna część zapytania, która odnosi się do dołączonych „argumentów”. Informuje bazę danych dokładnie, co ma zawierać w zwracanych danych.

zasadniczo te argumenty można skonfigurować w celu określenia dokładnych wyników, które chcesz wyświetlić. Argumenty mogą być również użyte do zmiany wartości zmiennych. Na przykład, jeśli chcesz zmienić sposób wyświetlania listy kategorii na stronie, możesz użyć argumentu.

twój argument zdefiniuje tablicę zmiennych i wartości. Więc jeśli chcesz, możesz użyć argumentu do zdefiniowania tablicy i powiedzieć swojej bazie danych, aby prezentowała kategorie w porządku malejącym. Dodatkowo możesz użyć tej samej metody, aby wykluczyć wszelkie Kategorie, które nie zawierają postów.

parametry w WP_Query: Kategoria, Tag i inne

do tej pory wymienialiśmy tylko parametry przelotnie. W tym momencie przyjrzyjmy się bliżej temu, co faktycznie mogą zrobić. Ich podstawową funkcją jest umożliwienie pobierania niestandardowych kolekcji postów.

jednym z przykładów parametru, który może być użyty w nagłówku witryny, jest parametr kategorii. Za jej pomocą można określić określone kategorie do wyświetlania. Odbywa się to poprzez podanie odpowiedniego numeru kategorii lub ślimaka.

dodatkowo możesz zrobić to samo z parametrem Tag. Oczywiście parametry kategorii i tagów są naprawdę tylko wierzchołkiem góry lodowej, jeśli chodzi o korzystanie z WP_Query.

Modyfikuj obiekty za pomocą metod i właściwości

chociaż nie zaleca się bezpośredniej zmiany właściwości klasy, takiej jak WP_Query, możesz z nimi współdziałać za pomocą metod. Zasadniczo metody są jak funkcje, podczas gdy właściwości są odpowiednikami zmiennych.

WP_Query ma wiele właściwości. Te wahają się od prostych właściwości” $posts ” do bardziej skomplikowanych. Niezależnie od metody używanej do interakcji z nimi, dane zostaną zwrócone na podstawie parametrów, które zdecydujesz się wprowadzić.

WP_Query vs. query_posts() w WordPress

warto zauważyć, że istnieje inny sposób na modyfikację głównego zapytania na swojej stronie. Jest to funkcja query_posts (). Chociaż może to działać w podobny sposób do WP_Query, może to być również bardzo problematyczne.

WordPress code Reference nawet zdecydowanie zaleca, aby nie używać tej funkcji w głównej pętli witryny. Najlepiej jest również unikać go w wtyczkach i motywach. Dzieje się tak, ponieważ całkowicie nadpisze Twoje główne zapytanie.

preferowana jest klasa WP_Query, ponieważ można również „zresetować” pętlę główną po uruchomieniu zapytania. Ponieważ WP_Query pozwala na uruchamianie wielu zapytań w pętli, będziesz chciał zrozumieć, jak zaimplementować funkcję wp_reset_postdata.

jeśli wbudowałeś pętlę dodatkową wewnątrz głównej pętli WordPress, funkcja resetowania zostanie umieszczona na końcu i będzie wyglądać następująco:

<?php wp_reset_postdata(); ?>

spowoduje to przywrócenie domyślnych znaczników szablonu i wróci do stanu sprzed zainicjowania pętli dodatkowej.

Dostosuj swoją witrynę WordPress za pomocą WP Engine

możliwość dostosowania sposobu wyświetlania elementów w Twojej witrynie jest tylko jedną z zalet korzystania z WordPress. Zrozumienie WP_Query i wykorzystanie narzędzi udostępnionych na stronie Zasoby dla programistów może pomóc w tworzeniu naprawdę spersonalizowanych stron internetowych.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.