web-dev-qa-db-ja.com

カスタム分類法アーカイブページでページ付けで404エラーが発生する

私は以下のように "ポートフォリオ"と呼ばれるカスタム投稿タイプのカスタム分類法を作成しました:

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

それからarchives.phpページを追加して、それらの分類法で投稿を表示できるようにしました。問題は2ページ目で改ページが壊れることです。これは基本的にアーカイブページでの私のループです:

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

2ページ目に移動しようとすると404ページのエラーが表示されるだけです。かなりパーマリンクを使用していますが、手動でURLの/page/2パラメータを?page=2に置き換えると、ページネーションはそれ以外の場所ではうまく機能しますがサイト。

あなたは私を助けてくれる?前もって感謝します!

5

この機能は問題を修正しました:

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

それから私はちょうど私のコードからpagedとquery_string関数を削除し、そして通常のループを離れました:)

5