WordPress
Beiträge abfragen
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
- Autorenparameter
- Kategorie-Parameter
- Tag-Parameter
- Taxonomie-Parameter
- Suchparameter
- Post- und Seitenparameter
- Passwort-Parameter
- Geben Sie die Parameter ein
- Statusparameter
- Paginierungsparameter
- Order & Orderby-Parameter
- Datumsparameter
- Benutzerdefinierte Feldparameter
- Berechtigungsparameter
- Parameter für den Mime-Typ
- Caching-Parameter
- Parameter zurückgeben
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 ()" .