###やりたいこと
カテゴリごとに記事を並べるトップページで、ページネーションを『ほどよいところで』作動させたいです。
(10記事ごと、など指定したいです。)
###状態
次のように書いているのですが、『ほどよいところ』で作動しません。
1つのページに全ての記事が並び、ページ送りをしても、同じ記事が並んでしまう状態です。
■index.php
php
1<?php 2get_header(); ?> 3<div id="container" class="<?php echo verbosa_get_layout_class(); ?>"> 4 <?php verbosa_header_section() ?> 5 <main id="main" role="main" class="main"> 6 <?php cryout_before_content_hook(); ?> 7 8<div class="catwaku">カテ44</div> 9<?php 10$posts = get_posts(array( 11'posts_per_page' => 20, // 表示件数 12'category' => '44,' // カテID 13)); 14?> 15<?php if($posts): foreach($posts as $post): setup_postdata($post); ?> 16<!--表示する内容--> 17<h3><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h3> 18<p><?php the_time('Y/m/d') ?></p> 19<p><?php the_excerpt(); ?></p> 20<p><a href="<?php the_permalink() ?>">続きを見る</a></p> 21<!--表示する内容ここまで--> 22<?php endforeach; endif; ?> 23 24<div class="catwaku">カテ51</div> 25<?php 26$posts = get_posts(array( 27'posts_per_page' => 20, // 表示件数 28'category' => '51,' // カテID 29)); 30?> 31<?php if($posts): foreach($posts as $post): setup_postdata($post); ?> 32<!--表示する内容--> 33<h3><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h3> 34<p><?php the_time('Y/m/d') ?></p> 35<p><?php the_excerpt(); ?></p> 36<p><a href="<?php the_permalink() ?>">続きを見る</a></p> 37<!--表示する内容ここまで--> 38<?php endforeach; endif; ?> 39 40<div class="catwaku">カテ55</div> 41<?php 42$posts = get_posts(array( 43'posts_per_page' => 20, // 表示件数 44'category' => '55,' // カテID 45)); 46?> 47<?php if($posts): foreach($posts as $post): setup_postdata($post); ?> 48<!--表示する内容--> 49<h3><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h3> 50<p><?php the_time('Y/m/d') ?></p> 51<p><?php the_excerpt(); ?></p> 52<p><a href="<?php the_permalink() ?>">続きを見る</a></p> 53<!--表示する内容ここまで--> 54<?php endforeach; endif; ?> 55 56<div class="catwaku">カテ49</div> 57<?php 58$posts = get_posts(array( 59'posts_per_page' => 20, // 表示件数 60'category' => '49,' // カテID 61)); 62?> 63<?php if($posts): foreach($posts as $post): setup_postdata($post); ?> 64<!--表示する内容--> 65<h3><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h3> 66<p><?php the_time('Y/m/d') ?></p> 67<p><?php the_excerpt(); ?></p> 68<p><a href="<?php the_permalink() ?>">続きを見る</a></p> 69<!--表示する内容ここまで--> 70<?php endforeach; endif; ?> 71 72<!--ページネーション(下記functions.php呼び出し)--> 73<?php if (function_exists("pagination")) { 74 pagination($additional_loop->max_num_pages); 75} ?> 76<!--ページネーションここまで--> 77 78 <?php cryout_after_content_hook(); ?> 79 </main><!-- #main --> 80 81</div><!-- #container --> 82 83<?php 84get_footer();
■functions.php
php
1function pagination($pages = '', $range = 1) 2{ 3 $showitems = ($range * 2)+1; 4 5 global $paged; 6 if(empty($paged)) $paged = 1; 7 8 if($pages == '') 9 { 10 global $wp_query; 11 $pages = $wp_query->max_num_pages; 12 if(!$pages) 13 { 14 $pages = 1; 15 } 16 } 17 18 if(1 != $pages) 19 { 20 echo "<div class=\"pagination\"><div class=\"pagination-box\"><span class=\"page-of\">Page ".$paged." of ".$pages."</span>"; 21 if($paged > 2 && $paged > $range+1 && $showitems < $pages) echo "<a href='".get_pagenum_link(1)."'>«</a>"; 22 if($paged > 1 && $showitems < $pages) echo "<a href='".get_pagenum_link($paged - 1)."'>‹</a>"; 23 24 for ($i=1; $i <= $pages; $i++) 25 { 26 if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems )) 27 { 28 echo ($paged == $i)? "<span class=\"current\">".$i."</span>":"<a href='".get_pagenum_link($i)."' class=\"inactive\">".$i."</a>"; 29 } 30 } 31 32 if ($paged < $pages && $showitems < $pages) echo "<a href=\"".get_pagenum_link($paged + 1)."\">›</a>"; 33 if ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) echo "<a href='".get_pagenum_link($pages)."'>»</a>"; 34 echo "</div></div>\n"; 35 } 36}
どこの書き方が悪いのか、どなかた教えてください。
よろしくお願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。