WordPress
Sprawdzanie postów
Szukaj…
Składnia
- $ the_query = new WP_Query ($ args);
- $ posts_array = get_posts ($ args);
Parametry
Parametr | Opis |
---|---|
$ args | (tablica) Tablica potrzebnych argumentów dla zapytania - może być dostosowana do twoich potrzeb, np. sprawdzanie postów tylko z jednej kategorii, z niestandardowego typu postu lub nawet sprawdzanie określonej taksonomii |
Uwagi
Argumenty zapytania są liczne. Strona kodeksu WP_Query () ma listę parametrów. Niektórzy z nich są
- Parametry autora
- Parametry kategorii
- Parametry tagu
- Parametry taksonomii
- Wyszukaj parametr
- Parametry posta i strony
- Parametry hasła
- Parametry typu
- Parametry statusu
- Parametry paginacji
- Zamów i uporządkuj parametry
- Parametry daty
- Niestandardowe parametry pola
- Parametry uprawnień
- Parametry typu MIME
- Parametry buforowania
- Parametr pól zwrotnych
Jedną z najważniejszych rzeczy, o których należy pamiętać, jest:
Nigdy nie używaj query_posts ()
query_posts()
zastępuje główne zapytanie i może powodować problemy w pozostałej części motywu. Za każdym razem, gdy trzeba zmodyfikować zapytanie główne (lub dowolne zapytanie w tym zakresie), należy użyć filtru pre_get_posts . Umożliwi to zmodyfikowanie zapytania przed jego uruchomieniem.
Również podczas wysyłania zapytań do postów należy zawsze je zresetować za pomocą wp_reset_postdata () . Spowoduje to przywrócenie globalnej zmiennej $post
głównej pętli zapytań i nie będziesz mieć później żadnych problemów (takich jak wykluczenie kategorii, ponieważ w drugiej pętli je wykluczyłeś i zapomniałeś zresetować zapytanie).
Korzystanie z obiektu WP_Query ()
Utworzenie oddzielnej instancji obiektu WP_Query
jest łatwe:
$query_args = array(
'post_type' => 'post',
'post_per_page' => 10
);
$my_query = new WP_Query($query_args);
if( $my_query->have_posts() ):
while( $my_query->have_posts() ): $my_query->the_post();
//My custom query loop
endwhile;
endif;
wp_reset_postdata();
Zauważ, że musisz zbudować tablicę argumentów zapytania zgodnie ze specyfikacją. Aby uzyskać więcej informacji, zobacz stronę kodeksu WP_Query .
Korzystanie z get_posts ()
get_posts()
to opakowanie dla osobnej instancji obiektu WP_Query
. Zwrócona wartość jest tablicą obiektu postu.
global $post;
$args = array(
'numberposts' => 5,
'offset'=> 1,
'category' => 1
);
$myposts = get_posts( $args );
foreach( $myposts as $post ) :
setup_postdata($post); ?>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php endforeach;
wp_reset_postdata(); ?>
Aby uzyskać więcej informacji, odwiedź stronę kodeksu get_posts () .