wordpressの個別ページpage-sample.phpにカスタム投稿(sample)の記事一覧ページを制作しています。
ページネーションをつけたいのですが、2ページ目がthis page can’t be found.
になり見れません。
下記コードはページねションを作成するために、functions.phpに記入したものです。
php
1//レスポンシブなページネーションを作成する 2function responsive_pagination($pages = '', $range = 4){ 3 $showitems = ($range * 2)+1; 4 5 global $paged; 6 if(empty($paged)) $paged = 1; 7 8 //ページ情報の取得 9 if($pages == '') { 10 global $wp_query; 11 $pages = $wp_query->max_num_pages; 12 if(!$pages){ 13 $pages = 1; 14 } 15 } 16 17 if(1 != $pages) { 18 echo '<ul class="pagination" role="menubar" aria-label="Pagination">'; 19 //1つ戻る 20 echo '<li class="previous"><a href="'.get_pagenum_link($paged - 1).'"><span>Previous</span></a></li>'; 21 //番号つきページ送りボタン 22 for ($i=1; $i <= $pages; $i++) { 23 if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems )) { 24 echo ($paged == $i)? '<li class="current"><a>'.$i.'</a></li>':'<li><a href="'.get_pagenum_link($i).'" class="inactive" >'.$i.'</a></li>'; 25 } 26 } 27 //1つ進む 28 echo '<li class="next"><a href="'.get_pagenum_link($paged + 1).'"><span>Next</span></a></li>'; 29 echo '</ul>'; 30 } 31}
出力のコードは下記です。(page-sample.php)
php
1<?php 2 $args = array( 3 'post_type' => array('sample'), 4 'paged' => $paged, 5 'posts_per_page' => 6, 6 ); 7 ?> 8 <?php query_posts( $args ); ?> 9 <?php if (have_posts()) : ?> 10 <?php while (have_posts()) : the_post(); ?> 11 <article class="voice_article"> 12 <div class="thumbnail"> 13 <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('voice'); ?></a> 14 </div> 15 <div class="voice-article-title"> 16 <?php $cat = get_the_category(); ?> 17 <?php $cat = $cat[0]; ?> 18 <p><?php echo get_cat_name($cat->term_id); ?></p> 19 <h3><?php the_title(); ?></h3> 20 </div> 21 </article> 22 <?php endwhile; ?> 23 <?php else : ?> 24 <p>表示する記事はありませんでした。</p> 25 <?php endif; ?> 26<!--ページネーション--> 27<?php if (function_exists('responsive_pagination')) { 28responsive_pagination($additional_loop->max_num_pages); 29} ?>
カスタム投稿に使ったプラグインはCustom Post Type UIです。
ページネーションはこちらのサイトを参考にしました。
標準で準備されている、投稿の一覧を個別ページ(page-blog.php)で同じようにしましたが、そちらは問題なく表示されました。
投稿一覧の個別ページでは 上記コードより'post_type' => array('sample'),を抜きました。
いろいろ調べましたが解決できませんでした、ご協力よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/01/26 07:46
退会済みユーザー
2018/01/26 07:54
退会済みユーザー
2018/01/26 08:12
退会済みユーザー
2018/01/26 08:19
退会済みユーザー
2018/01/26 08:22
退会済みユーザー
2018/02/08 11:36