サポート » 使い方全般 » 月別アーカイブ ページネーション 2ページ以降404

  • 解決済 maki1463

    (@maki1463)


    お世話になっております。

    月別アーカイブ、ページネーションが2ページ以降404になってしまいます。

    基本的なサイトの使い方は
    http://ドメイン/category/blog/にアクセスしてもらいます。※テンプレート: category-blog.php
    このページに表示されるページネーションは正常に動作いたします。
    http://ドメイン/category/blog/page/2/ →OK

    しかしながらこのページのサイドバーに設置した月別アーカイブ※プルダウンで月の投稿を絞る
    をクリックしますと1ページ目は正常に表示されます。
    しかし表示されたページネーションの2ページ目以降は404になります。
    http://ドメイン/2016/10/ →ok テンプレート: archive.php
    しかし2ページ目以降は
    http://ドメイン/2016/10/page/2/→404

    構造としましてはarcive.phpに以下が記述されております。

    get_header(); ?>
        <?php
        /*
        Template Name: category
        */
        if ( in_category('5') ) {
          include(TEMPLATEPATH . '/category-portfolio.php');
      } else if ( in_category('8') ) {
          include(TEMPLATEPATH . '/category-blog.php');
        } else {
          include(TEMPLATEPATH . '/arcive.php');
        }
        ?>
    
    <link href="<?php bloginfo('stylesheet_directory'); ?>/blog.css" rel="stylesheet" type="text/css" media="all" />
    
    	<div id="primary" class="content-area clr">
    <header class="page-header boxed clr">
    				<h1 class="page-header-title"><?php
    					if ( is_day() ) :
    						printf( esc_html__( 'Daily Archives: %s', 'wptuts' ), get_the_date() );
    					elseif ( is_month() ) :
    						printf( esc_html__( 'Monthly Archives: %s', 'wptuts' ), get_the_date( _x( 'F Y', 'monthly archives date format', 'wptuts' ) ) );
    					elseif ( is_year() ) :
    						printf( esc_html__( 'Yearly Archives: %s', 'wptuts' ), get_the_date( _x( 'Y', 'yearly archives date format', 'wptuts' ) ) );
    					else :
    						echo single_term_title();
    					endif;
    				?></h1>
    				<?php if ( term_description() ) { ?>
    					<div id="archive-description" class="clr">
    						<?php echo term_description(); ?>
    					</div><!-- #archive-description -->
    				<?php } ?>
    			</header><!-- .page-header -->
    		<div id="content" class="site-content left-content clr" role="main">
    			
    
    			<?php if ( have_posts() ) { ?>
    				<div id="blog-wrap" class="clr">   
    					<?php while ( have_posts() ) : the_post(); ?>
    						<?php get_template_part( 'content', get_post_format() ); ?>
    					<?php endwhile; ?>
    				</div><!-- #blog-wrap -->
    				<?php //wpex_pagejump(); ?>
    			<?php } else { ?>
    				<?php get_template_part( 'content', 'none' ); ?>
    			<?php } ?>
    		
    <!--ページネーション-->
    <?php if (function_exists('responsive_pagination')) {
      responsive_pagination($additional_loop->max_num_pages);
    } ?>
    </div><!-- #content -->
    	<aside id="secondary" class="sidebar-container" role="complementary">
    		<div class="sidebar-inner">
    			<div class="widget-area">
    				<?php dynamic_sidebar( 'sidebarA' ); ?>
    			</div>
    		</div>
    	</aside><!-- #secondary -->
    		
    	</div><!-- #primary -->
    
    <?php get_footer(); ?>

    なお

    /ページネーションを作成する
    function responsive_pagination($pages = '', $range = 4){
      $showitems = ($range * 2)+1;
     
      global $paged;
      if(empty($paged)) $paged = 1;
     
      //ページ情報の取得
      if($pages == '') {
        global $wp_query;
        $pages = $wp_query->max_num_pages;
        if(!$pages){
          $pages = 1;
        }
      }
     
      if(1 != $pages) {
        echo '<ul class="pagination" role="menubar" aria-label="Pagination">';
        //先頭へ
        echo '<li class="first"><a href="'.get_pagenum_link(1).'"><span>First</span></a></li>';
        //1つ戻る
        echo '<li class="previous"><a href="'.get_pagenum_link($paged - 1).'"><span>Previous</span></a></li>';
        //番号つきページ送りボタン
        for ($i=1; $i <= $pages; $i++)     {
          if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems ))       {
            echo ($paged == $i)? '<li class="current"><a>'.$i.'</a></li>':'<li><a href="'.get_pagenum_link($i).'" class="inactive" >'.$i.'</a></li>';
          }
        }
    
    //1つ進む
    if( $paged != $pages){ //現在のページが$max_num_pagesから参照した最後のページではない場合、現在ページ+1ページ目のリンクを張る
      echo '<li class="next"><a href="'.get_pagenum_link($paged + 1).'"><span>Next</span></a></li>';
    }else{ //そうでなければ(最後のページなら)現在のページのリンクを張る
      echo '<li class="next"><a href="'.get_pagenum_link($paged).'"><span>Next</span></a></li>';
    }
        //最後尾へ
        echo '<li class="last"><a href="'.get_pagenum_link($pages).'"><span>Last</span></a></li>';
        echo '</ul>';
      }
    }

    表示件数はワードプレスの表示設定で設定しております。
    件数は足りており、ページに表示する件数が足りず404と言うのとは違うように思っております。
    何がいけないのかわかりません。
    どうかご教授の方よろしくお願いいたします。

1件の返信を表示中 - 1 - 1件目 (全1件中)
1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「月別アーカイブ ページネーション 2ページ以降404」には新たに返信することはできません。