Sekundärer Seitenumbruch bei benutzerdefinierten Post-Posts wird auf die erste Seite umgeleitet

Ich möchte verwandte Beiträge auf einer benutzerdefinierten Post-Type-Einzelseite ausgeben. Alles scheint korrekt eingerichtet zu sein. Wenn ich den Mauszeiger über meine Paginierungslinks bewege, sehe ich http://example.com/post-type-slug/post-slug/page/2/ . Wenn ich klicke, gehe ich auf diese Seite, werde dann aber wieder auf die erste Seite weitergeleitet: http://example.com/post-type-slug/post-slug/

So habe ich meinen Post-Typ eingerichtet:

 register_post_type( 'posttype', array( 'rewrite' => array( 'slug' => 'post-type-slug', 'with_front' => false, ), 'public' => true, 'publicly_queryable' => true, 'exclude_from_search' => true, 'has_archive' => false, 'menu_position'=>5, ) ); 

So mache ich meine WP_query auf der einzelnen Seite

  $queryArgs = array( 'posts_per_page' => 3, ); $queryArgs['paged'] = get_query_var( 'page' ) ? get_query_var('page') : 1; $customQuery = new WP_Query( $queryArgs ); 

Für meine Paginierung verwende ich die hier beschriebene Methode: https://wordpress.stackexchange.com/a/172818/10595

Warum werde ich in den Index weitergeleitet? Was kann ich tun, um dies zu verhindern?

Ich habe ein paar Dinge überprüft: Wenn ich hübsche Permalinks deaktiviere, sagen die Paginierungslinks http://example.com/? posttype=post-slug&paged=2 http://example.com/? posttype=post-slug&paged=2 . Wenn ich das manuell auf http://example.com/? posttype=post-slug&page=2 ändere http://example.com/? posttype=post-slug&page=2 http://example.com/? posttype=post-slug&page=2 alles funktioniert so wie ich es möchte. Wie kann ich meine Paginierung ändern, um dies für mich zu tun?

Solutions Collecting From Web of "Sekundärer Seitenumbruch bei benutzerdefinierten Post-Posts wird auf die erste Seite umgeleitet"

Ich habe die Antwort gefunden. Gestern hatte ich hoch und niedrig gesucht, aber heute habe ich es endlich gefunden: https://wordpress.stackexchange.com/a/143837/10595

 add_action('template_redirect', function() { if ( is_singular('posttype') ) { global $wp_query; $page = (int) $wp_query->get('page'); if ( $page > 1 ) { // convert 'page' to 'paged' $query->set( 'page', 1 ); $query->set( 'paged', $page ); } // prevent redirect remove_action( 'template_redirect', 'redirect_canonical' ); } }, 0 ); // on priority 0 to be able removing 'redirect_canonical' added with priority 10 

Dies, kopiert in meine functions.php, lässt WordPress den paged Parameter für einzelne posttype Einträge erkennen.