Fügen Sie eine Seite / Post in die Abfrage ein, die bereits Posts zurückgibt

Ich habe meine Nachrichtenanfrage, die auf meiner Indexdatei ist.

Ich möchte einen Beitrag in diese Abfrage einfügen, die eigentlich eine Seite ist.

Gibt es das überhaupt, um das zu tun?

 5, 'paged' => $paged )); if ( have_posts() ) : ?> 

Meine Seiten-ID ist 6417 – Wenn ich post__in verwende, dann ist das die einzige Sache, die zeigt.

Kann mir jemand bitte einen Rat geben, muss ich mit einer Meta-Abfrage anfangen?

Vielen Dank

Solutions Collecting From Web of "Fügen Sie eine Seite / Post in die Abfrage ein, die bereits Posts zurückgibt"

Und hier ist die richtige Umsetzung:

Registrieren Sie die category für den page :

 function wpse121285_add_category_to_pages() { register_taxonomy_for_object_type('category', 'page'); } add_action( 'admin_init', 'wpse121285_add_category_to_pages' ); 

Fügen Sie der gewünschten Seite den entsprechenden Kategoriebegriff hinzu.

Ändern Sie dann das Standardobjekt $wp_query bei pre_get_posts :

 function wpse121285_pre_get_posts( $query ) { // Main query for the blog posts index // Note that you can use most/any contextual // conditional here, depending on your needs if ( is_home() && $query->is_main_query() ) { $query->set( 'posts_per_page', 5 ); $query->set( 'category_name', 'news' ); $query->set( 'post_type', array( 'post', 'page' ) ); } } add_action( 'pre_get_posts', 'wpse121285_pre_get_posts' ); 

Behalten Sie das Standard-Loop-Markup bei:

 // No query_posts() needed here! if ( have_posts() ) : while ( have_posts() ) : the_post(); 

So etwas … wahrscheinlich !!

 if ( have_posts() ) { while ( have_posts() ) { global $post; if ( some_condition ) { $page_id = 6417; // This is the ID of the page to be included $post = get_post( $page_id ); }else{ the_post(); // END custom first post } 

OK, ich habe selbst eine Lösung gefunden.

Ich habe diese function verwendet, um Kategorien zu meinem Newsfeed hinzuzufügen.

 function add_category_to_pages() { register_taxonomy_for_object_type('category', 'page'); } add_action( 'admin_init', 'add_category_to_pages' ); 

Ich habe dann meine Seite gefunden, die ich wollte, wählte meine Nachrichtenkategorie und dann die Abfrage verbessert …

 < ?php query_posts(array( 'post_type' => array('post','page'), 'posts_per_page' => 5, 'paged' => $paged, 'category_name' => 'news' )); if ( have_posts() ) : ?>