Die Seitennummerierung ist kaputt und ich brauche Hilfe beim Reparieren

Ich habe ein Problem mit der Seitennummerierung auf einer Website, an der ich gerade arbeite. Die Kundin hat bemerkt, dass auf ihren Kategorieseiten die page 1 nicht nach page 1 funktioniert. Was ich meine ist, dass auf den pages 2 und höher die Beiträge nicht mehr aus der WordPress-Schleife angezeigt werden. Ich habe mich nur gefragt, warum das so war und wie ich es beheben kann?

Hier ist mein Vorlagenseitencode für die Kategorieseiten:

  
'post', 'posts_per_page' => 4, 'paged' => $paged, 'category_name' => $page ); $post_query = new WP_Query( $args ); if($post_query->have_posts() ) { while($post_query->have_posts() ) { $post_query->the_post(); $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' ); if($image[0] == ''){ $image[0] = get_template_directory_uri() . '/img/placeholder-blog.jpg'; } ?>

<a href="https://wordpress.stackexchange.com/questions/283338/pagination-is-broken-and-i-need-help-fixing-it/">

by | <a href="https://wordpress.stackexchange.com/questions/283338/pagination-is-broken-and-i-need-help-fixing-it/">Leave a Comment
<img src="https://wordpress.stackexchange.com/questions/283338/pagination-is-broken-and-i-need-help-fixing-it/" alt="">

Filed Under: $cat){ echo 'slug . '">' . $cat->name . ''; if(($key+1) != count($category)){ echo ', '; } } ?>


Es gibt auch eine benutzerdefinierte function in functions.php für die Paginierung, die vielleicht auch als Problem enthält:

 function custom_pagination($numpages = '', $pagerange = '', $paged='') { if (empty($pagerange)) { $pagerange = 2; } /** * This first part of our function is a fallback * for custom pagination inside a regular loop that * uses the global $paged and global $wp_query variables. * * It's good because we can now override default pagination * in our theme, and use this function in default quries * and custom queries. */ global $paged; if (empty($paged)) { $paged = 1; } if ($numpages == '') { global $wp_query; $numpages = $wp_query->max_num_pages; if(!$numpages) { $numpages = 1; } } /** * We construct the pagination arguments to enter into our paginate_links * function. */ $pagination_args = array( 'base' => get_pagenum_link(1) . '%_%', 'format' => 'page/%#%', 'total' => $numpages, 'current' => $paged, 'show_all' => False, 'end_size' => 1, 'mid_size' => $pagerange, 'prev_next' => True, 'prev_text' => __(''), 'next_text' => __(''), 'type' => 'plain', 'add_args' => false, 'add_fragment' => '' ); $paginate_links = paginate_links($pagination_args); if ($paginate_links) { echo ""; } } 

Hier sind Live-Beispiele für solche:

 https://www.staceybarr.com/measure-up/category/podcast/page/2/ https://www.staceybarr.com/measure-up/category/podcast/page/1/ 

Alles sieht für mich korrekt aus, aber leider gibt es immer noch ein Problem, ich habe mich nur gefragt, ob ich dabei helfen könnte? Jede Hilfe wird sehr geschätzt!

Solutions Collecting From Web of "Die Seitennummerierung ist kaputt und ich brauche Hilfe beim Reparieren"

Ich bin nicht sicher, warum die erste Seite funktioniert, aber die zweite nicht, obwohl dies ein Hinweis auf das Problem sein könnte. Unten auf der Kategorieschablonen-Seite haben Sie Folgendes:

 if (function_exists(custom_pagination)) { custom_pagination($custom_query->max_num_pages,"",$paged); } 

Wenn Sie das Obige überprüfen, gibt es eine Variable namens $custom_query . Es sieht so aus, als wäre es eine WordPress-Abfrage, die in der Lage sein sollte, ein max_numb_pages-Objekt darin zu haben. Das Problem ist $custom_query ist nirgendwo sonst auf der Seite vorhanden und scheint nicht global zu sein. Sie sollten es so ändern, dass es Ihre Abfrage auf der Seite ” $post_query . Der aktualisierte Code würde folgendermaßen aussehen:

 if (function_exists(custom_pagination)) { custom_pagination($post_query->max_num_pages,"",$paged); } 

Dies sollte die Seitennummerierung anzeigen, dass es eine Anzahl von Seiten gibt und möglicherweise den richtigen Link darstellen.

Außerdem würde ich Ihnen print_r die Ausgabe von $link , $link_array , $page und $paged $link_array , um festzustellen, ob alle diese Variablen die richtige Antwort ausgeben.

 $link = $_SERVER[HTTP_HOST] . $_SERVER[REQUEST_URI]; $link_array = explode('/',$link); $page = $link_array[count($link_array)-2]; $paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1; $args = array( 'post_type' => 'post', 'posts_per_page' => 4, 'paged' => $paged, 'category_name' => $page ); print_r($link); print_r($link_array); print_r($page); print_r($paged); print_r($args); 

$args Sie im Fall von $args sicher, dass WordPress die richtige Seite im paged Attribut paged .