Schleife und Seitenvorlage: Meine WP_Abfrage nimmt keine Argumente

Ich habe ein Problem mit einer Schleife, die ich in eine benutzerdefinierte Seitenvorlage einfügen möchte. Ich möchte Posts mit Bedingungen anzeigen, aber was auch immer ich in meine WP_query Parameter einfüge, wird es nicht berücksichtigen.

Hier ist mein Vorlagencode:

 
2 ); $latest = new WP_Query( $args ); ?> have_posts() ) : $latest->the_post(); ?>

Dieser Code gibt mir alle meine Posts, und nicht nur die 2, die ich auf Argumenten gefragt habe. Aber was auch immer ich sage, gibt mir immer die Standardschleife …

Ich habe alles versucht und verstehe immer noch nicht.

Danke für Ihre Hilfe!

** BEARBEITEN **

Dieser Code funktioniert:

 $query = new WP_Query(array( 'p' => 42 )); 

Aber dieses hier nicht:

 $query = new WP_Query(array( 'post__in' => $post_ids, 'post_status' => 'publish', 'ignore_sticky_posts' => false, 'orderby' => 'post__in', 'posts_per_page' => 2 )); 

Was auch immer ich in mein Array einfüge, es funktioniert nicht, auch wenn es ein p Parameter ist. Die zweite $query zeigt alle meine Posts an.

Solutions Collecting From Web of "Schleife und Seitenvorlage: Meine WP_Abfrage nimmt keine Argumente"

Was ich sehe, ist, dass Sie WP Kodierungsstandard nicht folgen.

 < ?= get_the_title(); ?> 

ist im WP-Codierungsstandard nicht erlaubt.

Jetzt erhalten Sie nur den Beitrag und nicht wie von Ihnen vorgesehen, das heißt, Sie haben Ihre Haupt-WP-Abfrage nicht zurückgesetzt.

Wir können den obigen Code wie folgt schreiben:

 < ?php /* Template Name: Trends */ get_header(); ?> // Primary loop < ?php while( have_posts() ) : the_post(); ?> 
< ? the_title(); ?>
< ?php the_content();?> < ?php endwhile; ?> < ?php // Paramter for getting 2 posts $args = array( 'posts_per_page' => 2, ); $latest = new WP_Query( $args ); ?> < ?php while( $latest->have_posts() ) : $latest->the_post(); ?>

< ?php the_title(); ?>

< ?php endwhile; ?> < ?php wp_reset_postdata(); ?>
< ?php get_footer();

Da unsere Versuche zu helfen anscheinend nicht funktioniert haben, habe ich Ihren Code genommen, wie die Frage gerade zeigt:

 < ?php /* Template Name: Trends */ get_header(); ?> 
< ?php the_post(); ?>
< ?= get_the_title(); ?>
< ?php the_content();?> < ?php $args = array( 'posts_per_page' => 2 ); $latest = new WP_Query( $args ); ?> < ?php while( $latest->have_posts() ) : $latest->the_post(); ?>

< ?php the_title(); ?>

< ?php endwhile; wp_reset_postdata(); ?>
< ?php get_footer(); ?>

Ich habe diese Vorlage in eine neue Installation von WP eingefügt und die Vorlage einer Seite zugewiesen. Ich habe vier Posts gemacht, Post 1, Post 2, Post 3 und Post 4.

Wenn ich die Seite ansehe, sehe ich Post 4 und Post 3 in dieser Reihenfolge. 2 von ihnen.

Die Antwort auf Ihre Frage ist also, dass Ihr Code funktioniert.