Suche…


Syntax

  • $ the_query = new WP_Query ($ args);
  • $ posts_array = get_posts ($ args);

Parameter

Parameter Beschreibung
$ args (Array) Ein Array benötigter Argumente für eine Abfrage - kann an Ihre Bedürfnisse angepasst werden, z. B. das Abfragen von Beiträgen aus nur einer Kategorie, vom benutzerdefinierten Beitragstyp oder sogar das Abfragen bestimmter Taxonomien

Bemerkungen

Abfrageargumente sind zahlreich. Die WP_Query () -Codex- Seite enthält eine Liste von Parametern. Einige von ihnen sind

Eines der wichtigsten Dinge, die zu bedenken sind, ist:

Verwenden Sie niemals query_posts ()

query_posts() überschreibt die Hauptabfrage und kann Probleme für den Rest Ihres query_posts() verursachen. Jedes Mal, wenn Sie die Hauptabfrage (oder eine beliebige Abfrage für diese Angelegenheit) ändern müssen, müssen Sie den Filter pre_get_posts verwenden . Dadurch können Sie die Abfrage vor der Ausführung ändern.

Auch wenn Sie Beiträge abfragen, sollten Sie sie immer mit wp_reset_postdata () zurücksetzen. Dadurch wird die globale Variable $post der Hauptabfrageschleife wiederhergestellt, und später treten keine Probleme mehr auf (z. B. ausgeschlossene Kategorien, da Sie diese in Ihrer Sekundärschleife ausgeschlossen haben und vergessen haben, die Abfrage zurückzusetzen).

WP_Query () Objekt verwenden

Das Erstellen einer separaten Instanz des WP_Query Objekts ist einfach:

$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();

Beachten Sie, dass Sie das Abfrageargument-Array gemäß Ihrer Spezifikation erstellen müssen. Weitere Informationen finden Sie auf der WP_Query-Codex-Seite .

Get_posts () verwenden

get_posts() ist ein Wrapper für eine separate Instanz eines WP_Query Objekts. Der zurückgegebene Wert ist ein Array von Post-Objekten.

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(); ?>

Weitere Informationen finden Sie auf der Codex-Seite "get_posts ()" .



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow