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

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 () .



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow