Wie verwende ich die_posts_navigation für wp_query und get_posts?

WordPress hat the_posts_navigation function_posts_navigation seit 4.1.0. Aber ich kann nicht mit wp_query oder get_posts . Der folgende Code befindet sich in einer Vorlagendatei der Seite.
wp_query-Methode:

  have_posts()):$get_posts->the_post(); the_title(); endwhile; the_posts_pagination( array( 'prev_text' => __( 'Previous page', 'cm' ), 'next_text' => __( 'Next page', 'cm' ), 'before_page_number' => '' . __( 'Page', 'cm' ) . ' ', ) ); ?> 

get_posts Methode:

  <? while(have_posts()):the_post(); if ( get_query_var('paged') ) { $paged = get_query_var('paged'); } else if ( get_query_var('page') ) { $paged = get_query_var('page'); } else { $paged = 1; } $case_posts=get_posts('post_type=case&posts_per_page=2&paged='.$paged); echo '
'; print_r($case_posts); echo '

'; foreach($case_posts as $case_post){ echo $case_post->post_title; } endwhile; // Previous/next page navigation. the_posts_pagination( array( 'prev_text' => __( 'Previous page', 'cm' ), 'next_text' => __( 'Next page', 'cm' ), 'before_page_number' => '' . __( 'Page', 'cm' ) . ' ', ) ); ?>

Sie funktionieren nicht und zeigen Paginierung, aber http://127.0.0.1/gdboer/?page_id=74&page=2 manuell in der Adressleiste eingeben, es funktioniert. Wer kann mir helfen, vielen Dank!

Solutions Collecting From Web of "Wie verwende ich die_posts_navigation für wp_query und get_posts?"

the_posts_navigation() ist einfach eine Wrapper-function für get_the_posts_navigation() die einfach eine Wrapper-function für get_the_posts_navigation() . Die ersten beiden functionen verwenden die gleichen genauen Parameter, die von paginate_links verwendet werden, und übergibt sie auch an die letztere function

get_the_posts_navigation() und the_posts_navigation() sind gute neue functionen, da sie viel benutzerdefiniertes get_the_posts_navigation() the_posts_navigation() und für neue unerfahrene Benutzer, die nummerierte Paginierungslinks möchten, benutzerfreundlicher sind

Der einzige Fehler in dieser get_the_posts_navigation() ist, dass die Entwickler die paginate_links function in eine bedingte statement geschrieben und umbrochen haben, die besagt, dass wenn die Hauptabfrage ( $wp_query ) weniger als 1 Seite hat (die erste Seite ist 0 und die zweite Seite) Seite ist 2 ), nicht die Links anzeigen. Dies ist bei benutzerdefinierten Abfragen auf Seitenvorlagen problematisch. Seiten haben immer nur eine Seite, daher funktionieren diese functionen nicht mit benutzerdefinierten Abfragen

Die einzige echte Problemumgehung, wenn Sie the_posts_navigation() , besteht darin, die @ChipBennet-Antwort in diesem Post zu verwenden . Ich mag es wirklich nicht, die Hauptabfrage zu annullieren (ziemlich hacky, meiner Meinung nach ist dies genau wie mit query_posts ), aber ich kann keine andere Lösung sehen, um get_the_posts_navigation() mit benutzerdefinierten Abfragen arbeiten zu lassen

Ich habe eine benutzerdefinierte Vorlage und ich habe Stunden damit verbracht, die Paginierungskomponente anzuzeigen. hier, was für mich funktioniert hat.

 $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $args = array( 'posts_per_page' => 3, 'orderby' => 'menu_order', 'order'=> 'ASC', 'paged'=>$paged, 'post_type' => 'projects' ); $projects = new WP_Query($args);  ...< ?php endwhile;?> < ?php $GLOBALS['wp_query']->max_num_pages = $projects->max_num_pages; the_posts_pagination( array( 'mid_size' => 1, 'prev_text' => __( 'Back', 'green' ), 'next_text' => __( 'Onward', 'green' ), 'screen_reader_text' => __( 'Posts navigation' ) ) ); ?> OR  ...< ?php endwhile;?> < ?php next_posts_link( 'next', $projects->max_num_pages ); ?> < ?php previous_posts_link('prev') ?> 

Diese function verwendet das get_the_posts_pagination() , das die GLOBAL wp_query verwendet, um die function get_the_posts_pagination() wp_query , also glaube ich, dass das für get_posts nicht funktioniert.

Probieren Sie die function posts_nav_link() selbst oder die function posts_nav_link()

PS: wp_reset_query() Sie sicher, dass Sie wp_reset_query()