サポート » 使い方全般 » 固定ページの複数カスタム投稿とページネーション

  • 初めまして!
    現在、wordpressのテーマを作成中なのですが、一点解決出来ない点が出てきてしまいました。

    現在、
    一つの固定ページに、2つのカスタム投稿を表示しているのですが、片方のカスタム投稿(A)のページネーション/2ページ目をクリックすると、他方のカスタム投稿(B)も同様のページへ飛んでしまう点です。

    カスタム投稿Aの2ページ目をクリックすると、遷移先(/page/2/)ではカスタム投稿Bも2ページ目になってしまいます。

    これを各々独立してページング出来る方法を探しているのですが、良い方法がどうしても見つからないので、ご意見伺えるとありがたいです。

    以下、コードを記載させていただきます。
    – – – – – – – – – – – – – – – – – – // … は省略部分

    //固定ページ
    <body>
    ...
    <ul>
    <?php
    $args = array(
         'post_type' => 'A',
         'posts_per_page' => 6,
    ); ?>
    <?php query_posts( $args ); ?>
    <?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
    <li><?php the_title(); ?></li>
    <?php endwhile; ?>
    </ul>
    <ul class="pager">
    <?php kriesi_pagination_A($additional_loop->max_num_pages); ?>
    </ul>
    <?php wp_reset_query(); ?>
    ...
    <?php
    $args = array(
         'post_type' => 'B',
         'posts_per_page' => 3,
    ); ?>
    <?php query_posts( $args ); ?>
    <?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
    <li><?php the_title(); ?></li>
    <?php endwhile; ?>
    </div><!-- .recipe_lists -->
    <div class="bottom"></div>
    <ul class="pager">
    <?php kriesi_pagination_B($additional_loop->max_num_pages); ?>
    </ul>
    <?php wp_reset_query(); ?>
    <body>
    
    //functions.php
    
    function kriesi_pagination_A($pages = '', $range = 5)
    {
         $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='pager'>";
             //if($paged > 1 ) echo "<li title='前のページ''><a href='".get_pagenum_link(1)."'>≪</a></li>";
             if($paged > 1) echo "<li title='前のページ'><a href='".get_pagenum_link($paged - 1)."'><</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'>".$i."</li>":"<li><a href='".get_pagenum_link($i)."' class='inactive' >".$i."</a></li>";
                 }
             }
    
             if ($paged < $pages) echo "<li title='次のページ'><a href='".get_pagenum_link($paged + 1)."'>></a></li>";
             //if ($paged < $pages) echo "<li title='前のページ'><a href='".get_pagenum_link($pages)."'>Last &raquo;</a></li>";
             echo "</ul>\n";
         }
    }
    function kriesi_pagination_B($pages = '', $range = 5)
    {
         $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='pager'>";
             //if($paged > 1 ) echo "<li title='前のページ''><a href='".get_pagenum_link(1)."'>≪</a></li>";
             if($paged > 1) echo "<li title='前のページ'><a href='".get_pagenum_link($paged - 1)."'><</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'>".$i."</li>":"<li><a href='".get_pagenum_link($i)."' class='inactive' >".$i."</a></li>";
                 }
             }
    
             if ($paged < $pages) echo "<li title='次のページ'><a href='".get_pagenum_link($paged + 1)."'>></a></li>";
             //if ($paged < $pages) echo "<li title='前のページ'><a href='".get_pagenum_link($pages)."'>Last &raquo;</a></li>";
             echo "</ul>\n";
         }
    }

  • トピック「固定ページの複数カスタム投稿とページネーション」には新たに返信することはできません。