質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

0回答

873閲覧

投稿の記事一覧とカスタム投稿の記事一覧のページ送りに関して(番号は不要)

saku615

総合スコア46

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2020/12/18 18:04

前提・実現したいこと

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()を使う方法で合っているのかどうか、それかもし他にいい方法があればご教示いただけますと嬉しいです。
よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問