La paginación genera un error 404 en las páginas de archivo de taxonomía personalizadas

4

He creado una taxonomía personalizada para un tipo de publicación personalizada llamada "cartera", como por ejemplo:

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' );

Luego agregué una página archives.php para poder mostrar las publicaciones en esas taxnomies, el problema es que la paginación se rompe en la segunda página, esto es básicamente mi bucle en la página de archivos:

<?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; ?> 

Simplemente me muestra un error de página 404 cuando intento ir a la segunda página, estoy usando bastante enlaces permanentes, pero si reemplazo manualmente el parámetro /page/2 en la url con ?page=2 , funciona bien a pesar de que La paginación funciona bien en cualquier otra parte del sitio.

¿Pueden ustedes ayudarme? Gracias de antemano!

    
pregunta Javier Villanueva 16.03.2012 - 06:09

1 respuesta

4

Esta función solucionó el problema:

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

Luego eliminé la función paginada y query_string en mi código y dejé el bucle regular :)

    
respondido por el Javier Villanueva 16.03.2012 - 23:38

Lea otras preguntas en las etiquetas