it-swarm.com.de

Die Paginierung löst einen 404-Fehler auf benutzerdefinierten Taxonomie-Archivseiten aus

Ich habe eine benutzerdefinierte Taxonomie für einen benutzerdefinierten Beitragstyp mit dem Namen "Portfolio" wie folgt erstellt:

function jvs_portfolio_categories_init() {
    register_taxonomy(
        'project-category',
        'portfolio',
        array(
      'label'        => __( 'Project Categories' ),
      'query_var'    => true,
      'hierarchical' => true
        )
    );
}
add_action( 'init', 'jvs_portfolio_categories_init' );

Dann habe ich eine archives.php Seite hinzugefügt, damit ich Beiträge in diesen Taxnomies anzeigen kann. Das Problem ist, dass die Paginierung auf der zweiten Seite unterbrochen wird. Dies ist im Grunde meine Schleife auf der Archivseite:

<?php $paged = (get_query_var('page')) ? get_query_var('page') : 1; ?>
<?php global $query_string; query_posts($query_string . '&post_type=portfolio&paged=' . $paged); ?>
<?php if (have_posts()) while (have_posts()) : the_post(); ?>
     // Stuff here
<?php endwhile; ?> 

Es zeigt mir nur einen 404-Seiten-Fehler, wenn ich versuche, zur zweiten Seite zu wechseln. Ich verwende ziemlich viele Permalinks, aber wenn ich den /page/2 -Parameter in der URL manuell durch ?page=2 ersetze, funktioniert das, obwohl die Paginierung überall in der funktioniert Seite? ˅.

Könnt ihr mir helfen? Danke im Voraus!

5

Diese Funktion hat das Problem behoben:

function change_posttype() {
  if( is_archive() && !is_admin() ) {
    set_query_var( 'post_type', array( 'post', 'portfolio' ) );
  }
  return;
}
add_action( 'parse_query', 'change_posttype' );

Dann habe ich gerade die Funktion paged and query_string in meinem Code entfernt und die reguläre Schleife verlassen :)

5