WordPress
Frågor om inlägg
Sök…
Syntax
- $ the_query = new WP_Query ($ args);
- $ posts_array = get_posts ($ args);
parametrar
Parameter | Beskrivning |
---|---|
$ args | (array) En matris med nödvändiga argument för en fråga - kan anpassas efter dina behov, t.ex. fråga inlägg från endast en kategori, från anpassad inläggstyp eller till och med fråga om viss taxonomi |
Anmärkningar
Frågestargument är många. WP_Query () -kodx- sidan har en lista med parametrar. Några av dem är
- Författarparametrar
- Kategoriparametrar
- Taggparametrar
- Taxonomiparametrar
- Sökparameter
- Post- och sidparametrar
- Lösenordsparametrar
- Skriv parametrar
- Statusparametrar
- Paginationsparametrar
- Order & Orderby-parametrar
- Datumparametrar
- Anpassade fältparametrar
- Tillståndsparametrar
- Parametrar för Mime-typ
- Cachingparametrar
- Returfältparameter
En av de viktigaste sakerna att tänka på är:
Använd aldrig query_posts ()
query_posts()
åsidosätter huvudfrågan och kan orsaka problem i resten av ditt tema. Varje gång du behöver ändra huvudfrågan (eller någon fråga för den delen) är att använda pre_get_posts- filter. Detta gör att du kan ändra frågan innan den kördes.
När du frågar inlägg bör du alltid återställa det med wp_reset_postdata () . Detta kommer att återställa den globala $post
variabeln i huvudfrågeslingan och du kommer inte att ha några problem senare (till exempel att kategorier utesluts, eftersom du i din sekundära slinga har uteslutit dem och glömt att återställa frågan).
Använda WP_Query () -objektet
WP_Query
är enkelt att skapa en separat instans av WP_Query
objektet:
$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();
Lägg märke till att du måste bygga frågeställningsargumenten enligt din specifikation. Mer information finns på WP_Query codex-sidan .
Använda get_posts ()
get_posts()
är ett omslag för en separat instans av ett WP_Query
objekt. Det returnerade värdet är en matris med postobjekt.
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(); ?>
För mer information, se koden om get_posts () .