Wenn WP_Query in einer Seitenvorlage verwendet wird, wird oben kein klebriger Beitrag angezeigt

Ich erstelle ein Thema, in dem ich eine Seitenvorlage mit dem Namen page_default-blog.php erstellt habe, die zum Erstellen einer Blog-Seite verwendet werden soll. In dieser Datei habe ich folgenden Code:

$paged = (get_query_var('page')) ? get_query_var('page') : 1; $args = array( 'paged' => $paged, ); $custom_query = new WP_Query($args); if ($custom_query->have_posts()) : while($custom_query->have_posts()) : $custom_query->the_post(); ?> the_title(); echo "
"; endwhile; endif; wp_reset_postdata();

Das Problem ist, dass der klebrige Post nicht oben angezeigt wird, obwohl ignore_sticky_posts in $ args standardmäßig auf false gesetzt ist.

Der klebrige Beitrag wird oben angezeigt, wenn ich die ‘index.php’ verwende, aber es kommt nicht, wenn ich die Titelseite als Blog-Seite einstelle.

Bitte lassen Sie mich wissen, wie ich das zur Arbeit bringen kann. Vielen Dank.

Edit 1: Following ist das Ergebnis von var_dump ($custom_query->request); :

 string(217) "SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'private') ORDER BY wp_posts.post_date DESC LIMIT 0, 4" 

Edit 2: So sieht meine Template-Datei page_default-blog.php aus:

  'post', 'posts_per_page' => -1, 'ignore_sticky_posts' => 0, ); $custom_query = new WP_Query( $args ); var_dump( $custom_query->is_home ); // This is returning bool(false) ?> 
have_posts()) : while($custom_query->have_posts()) : $custom_query->the_post(); ?> <?php echo the_title(); echo "
"; ?>

Das obige ist die genaue Datei, die ich gerade benutze. Ich habe es vereinfacht, um zu versuchen, das Problem zu finden, aber immer noch nicht in der Lage, da der Titel für den klebrigen Beitrag nicht an der Spitze der Liste erscheint.

Solutions Collecting From Web of "Wenn WP_Query in einer Seitenvorlage verwendet wird, wird oben kein klebriger Beitrag angezeigt"

Sie haben einen benutzerdefinierten Filter in einem Plugin oder in Ihrem WP_Query mit WP_Query zu WP_Query . Ihr Problem ist, dass etwas is_home auf false . Dies ist kein Standardverhalten. Standardmäßig sollte is_home in jeder benutzerdefinierten Instanz von WP_Query .

is_home ist einer der beitragenden Faktoren, der dafür verantwortlich ist, klebrige Beiträge oben in einer Abfrage einzurichten, und wenn sein Wert false , werden keine klebrigen Beiträge nach vorne verschoben.

Sie sollten Ihre Plugins einzeln deaktivieren und prüfen, welches das Problem verursacht. Sie sollten Ihren Code auch auf einem gebündelten Thema testen, um Ihr Thema als möglichen Täter zu eliminieren