Paginierung in einer WP_query zeigt keine Navigationslinks an

Ich habe Probleme, Seitenumbrüche auf einer Seite hinzuzufügen. Ich verwende WP_query und möchte 4 Beiträge pro Seite WP_query . Die grundlegende Abfrage scheint in Ordnung zu sein, aber ich muss etwas in Bezug auf Seitenumbruch verpassen.

 // The query for 4 posts $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $query = new WP_Query(); $query->query('showposts=4'.'&paged='.$paged); if ( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post(); ?> 
<a href="https://wordpress.stackexchange.com/questions/160175/pagination-on-a-wp-query-not-showing-navigation-links/">

by

Ich habe die Variable für die Seitennummerierung oben als solche festgelegt:

 $query->query('showposts=4'.'&paged='.$paged); 

Ich verwende das Paginierungsnav als solches:

  

Aber ich bekomme nur leere HTML

– aber keine Fehler, und ich kann nicht herausfinden, was ich vermisse.

Edit: Gemäß dem Vorschlag habe ich aktualisiert als:

  $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $args = array( 'post_per_page' => 4, 'paged' => $paged, ); $query = new WP_Query( $args ); 

und aktualisiert den Button Link zu:

 max_num_pages ); ?> 

Ich sehe immer noch keinen Paginierungslink.

Solutions Collecting From Web of "Paginierung in einer WP_query zeigt keine Navigationslinks an"

Bitte benutzen Sie keine showposts , die vor posts_per_page Zeit durch posts_per_page wurden.

Persönlich würde ich die Argumente wie unten gezeigt der WP_Query hinzufügen, zusätzlich sollte die WP_Query wie WP_Query funktionieren:

 $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1; $args = array( 'post_per_page' => 4, 'paged' => $paged, ); $query = new WP_Query( $args ); global $wp_query; // Put default query object in a temp variable $tmp_query = $wp_query; // Now wipe it out completely $wp_query = null; // Re-populate the global with our custom query $wp_query = $query; if ($the_query->have_posts()) : while ($the_query->have_posts()) : $the_query->the_post(); // loop code endwhile; previous_posts_link('« Newer posts'); next_posts_link( 'Older posts »', $query->max_num_pages ); wp_reset_postdata(); else : // no post found code endif; // Restore original query object $wp_query = null; $wp_query = $tmp_query; 

Was ist das gleiche wie die Q & A Wie behebt man Paginierung für benutzerdefinierte Schleifen? Ich habe dich mit @ChipBennett verbunden.

Ein weiterer Hinweis: Wenn Sie in einer Seitenvorlage als statische Titelseite arbeiten, müssen Sie die Abfragevariablenseite verwenden, anstatt sie zu paged :

 $paged = ( get_query_var( 'page' ) ) ? get_query_var( 'page' ) : 1; 

@ialocin, Danke für deine Antwort! Es triggerse mein Problem mit einer kleinen Code-Bearbeitung.

 if ($the_query->have_posts()) : while ($the_query->have_posts()) : $the_query->the_post(); 

sollte geändert werden in

 if ($query->have_posts()) : while ($query->have_posts()) : $query->the_post(); ?> 

richtig? Das hat in meinem Fall funktioniert.

Eine gute Sache zu tun, erhalten Sie die posts_per_page Wert von WordPress. Sie können diesen Wert im WordPress Admin Menü ändern.

 $page = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1; if(!$page) $page = ( get_query_var( 'page' ) ) ? get_query_var( 'page' ) : 1; $posts_per_page = get_option( 'posts_per_page' ); $query = new WP_Query( array( 'posts_per_page' => $posts_per_page, 'paged' => $page, 'post_status' => 'publish', 'orderby' => 'title', 'order' => 'ASC', ) ); while ( $query->have_posts() ) { $query->the_post(); // Code for Output }