検索結果画面にページャーを設置したい
-
現在、search.phpの検索結果画面にページャーを設置したいのですが、方法がしりたいです。
現状の検索結果のコードは以下になります。
<?php global $wp_query; $total_results = $wp_query->found_posts; $search_query = get_search_query(); ?> <h2><?php echo $search_query; ?>の検索結果<span>(<?php echo $total_results; ?>件)</span></h2> <?php query_posts('posts_per_page=3'); ?> <?php if( $total_results >0 ): if(have_posts()): while(have_posts()): the_post(); ?> <!-- imgTextBox --> <div class="imgTextBox"> <?php $category = get_the_category(); $cat_id = $category[0]->cat_ID; $cat_name = $category[0]->cat_name; $cat_slug = $category[0]->category_nicename; ?> <p class="textP"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><br><span class="postDate"><?php echo get_the_date( $format, $post ); ?></span><span class="writeName"><?php the_author(); ?></span><span class="catName"><?php echo $cat_name; ?></span> <p class="imgP"><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('thumbnail'); ?></a> </div> <!-- imgTextBox --> <?php endwhile; endif; else: ?> <?php echo $search_query; ?> に一致する情報は見つかりませんでした。 <?php endif; ?>
そして下記のコードは固定ページに設置した新着情報一覧とページャーです。
<?php $paged = (int) get_query_var('paged'); $args = array( 'posts_per_page' => 14, 'paged' => $paged, 'post_type' => array('post','カスタム投稿01','カスタム投稿02'), 'post_status' => 'publish', ); $the_query = new WP_Query($args); if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?> <!-- imgTextBox --> <div class="imgTextBox"> <?php $category = get_the_category(); $cat_id = $category[0]->cat_ID; $cat_name = $category[0]->cat_name; $cat_slug = $category[0]->category_nicename; ?> <p class="textP"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><br><span class="postDate"><?php echo get_the_date( $format, $post ); ?></span><span class="writeName"><?php the_author(); ?></span><span class="catName"><?php echo $cat_name; ?></span> <p class="imgP"><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('thumbnail'); ?></a> </div> <!-- imgTextBox --> <?php endwhile; ?> <?php else: ?> <?php endif; ?> </div> <div class="pagination"> <?php if ($the_query->max_num_pages > 1) { echo paginate_links(array( 'base' => get_pagenum_link(1) . '%_%', 'format' => 'page/%#%/', 'current' => max(1, $paged), 'total' => $the_query->max_num_pages, )); } ?>
上記のコードを使ってページャーを検索結果に設置しようと色々とコードをいじったのですが、
全く表示されませんでした。下記はfunctionに記述したページャー用のコードです。
<?php //Pagenation function pagination($pages = '', $range = 2) { $showitems = ($range * 2)+1;//表示するページ数(5ページを表示) global $paged;//現在のページ値 if(empty($paged)) $paged = 1;//デフォルトのページ if($pages == '') { global $wp_query; $pages = $wp_query->max_num_pages;//全ページ数を取得 if(!$pages)//全ページ数が空の場合は、1とする { $pages = 1; } } if(1 != $pages)//全ページが1でない場合はページネーションを表示する { echo "<div class=\"pagenation\">\n"; echo "<ul>\n"; //Prev:現在のページ値が1より大きい場合は表示 if($paged > 1) echo "<li class=\"prev\"><a href='".get_pagenum_link($paged - 1)."'>Prev</a></li>\n"; for ($i=1; $i <= $pages; $i++) { if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems )) { //三項演算子での条件分岐 echo ($paged == $i)? "<li class=\"active\">".$i."</li>\n":"<li><a href='".get_pagenum_link($i)."'>".$i."</a></li>\n"; } } //Next:総ページ数より現在のページ値が小さい場合は表示 if ($paged < $pages) echo "<li class=\"next\"><a href=\"".get_pagenum_link($paged + 1)."\">Next</a></li>\n"; echo "</ul>\n"; echo "</div>\n"; } } ?>
- トピック「検索結果画面にページャーを設置したい」には新たに返信することはできません。