前提・実現したいこと
wordpressでサイトを制作しており、以下の2つの種類の投稿があります。
■ブログ
投稿(wordpress標準のもの)を使用。カテゴリがいくつかある。
一覧ページはblog-allという固定ページテンプレートを用意して固定ページにて作成。
■新着情報
CPT UIを使用してカスタム投稿として用意。
カスタムタクソノミーは特に使用しない。
一覧ページはarchives-news.phpで作成。
上記2つの投稿一覧ページにて、ページ送りの機能を実装したいです。
1ページにつき表示される記事数は10件。
いわゆる「ページ番号にも飛べるページネーション」ではなく、「前のページ」と「次のページ」のボタンのみあればOKです。
さらに記事数が10件に満たない場合はページ送りのボタンは非表示になるようにしたいです。
※記事が全くない場合は「COMING SOON」を表示。
試したこと
過去のページを参考にしました。
http://cly7796.net/wp/cms/implement-pagination-to-move-forward-and-backward/
記事単体のページ送りは実装できたのですが、どうしても一覧ページのページ送りが実装できません。
該当のソースコード
ブログ一覧(固定ページテンプレート「blog-all.php」)
<?php $blog= get_posts( array( 'posts_per_page' => 12 )); if( $blog): ?> <ul class="blog__list"> <?php foreach( $blog as $post ): setup_postdata( $post ); ?> <li> <article> <div class="blog__info"> <p class="blog__category"><?php $category = get_the_category(); if ( $category[0] ) { echo '<a href="' . get_category_link( $category[0]->term_id ) . '">' . $category[0]->cat_name . '</a>'; } ?></p> <p class="blog__date"><?php echo get_the_date(); ?></p> </div> <a href="<?php the_permalink(); ?>" class="blog__link"> <p class="blog__thumbnail"><?php if ( has_post_thumbnail() ) { the_post_thumbnail(); } else { echo '<img src="' . get_bloginfo( 'template_directory' ) . '/img/thumbnail.jpg">'; } ?></p> <h2 class="blog__title"><?php the_title(); ?></h2> </a> </article> </li> <?php endforeach; wp_reset_postdata(); ?> </ul> <div class="pager"> <div class="pager-prev"><?php previous_posts_link('前のページ'); ?></div> <div class="pager-next"><?php next_posts_link('次のページ'); ?></div> </div> <?php else: ?> <p style="text-align:center; margin-top:40px;">COMING SOON</p> <?php endif; ?>
新着情報一覧(archive-news.php)
<?php $news= get_posts( array( 'posts_per_page' => 10, 'post_type' => 'news' )); if( $news): ?> <ul class="news__list"> <?php foreach( $news as $post ): setup_postdata( $post ); ?> <li> <article> <p class="news__date"><?php echo get_the_date(); ?></p> <section> <a href="<?php the_permalink(); ?>" class="news__link"> <h2 class="news__title"><?php the_title(); ?></h2> </a> </section> </article> </li> <?php endforeach; wp_reset_postdata(); ?> </ul> <div class="pager"> <div class="pager-prev"><?php previous_posts_link('前のページ'); ?></div> <div class="pager-next"><?php next_posts_link('次のページ'); ?></div> </div> <?php else: ?> <p style="text-align:center; margin-top:40px;">COMING SOON</p> <?php endif; ?>
previous_posts_link()とnext_posts_link()を使う方法で合っているのかどうか、それかもし他にいい方法があればご教示いただけますと嬉しいです。
よろしくお願い致します。
あなたの回答
tips
プレビュー