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

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

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

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

PHP

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

ページネーション

Webアプリケーションにおいて、1ページに収まらないコンテンツを、各ページへのリンクを並べてアクセスしやすくする手法をページネーションと呼びます。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

2117閲覧

ページネーションの2ページ目以降がすべて1ページ目と同じになってしまう。

konno0928

総合スコア3

WordPress

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

PHP

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

ページネーション

Webアプリケーションにおいて、1ページに収まらないコンテンツを、各ページへのリンクを並べてアクセスしやすくする手法をページネーションと呼びます。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2021/02/03 22:46

前提・実現したいこと

プラグインを使用せずに、固定ページ上でページネーションを作成しました。ページネーション自体は表示されているのですが、ページネーションの2ページ目以降がすべて1ページ目と同じになってしまいます。
自分なりに調べてみたのですが、phpの知識があまりないため、解決できない状況です。
アドバイスいただければ嬉しいです

ここに質問の内容を詳しく書いてください。
カスタム投稿ではなく、投稿を使用しています。ページネーションに関しては、functions.phpは使用していません
■■な機能を実装中に以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

ページネーションの2ページ目以降がすべて1ページ目と同じになってしまう。

該当のソースコード

html

1<?php 2 // 固定ページに特定のカテゴリーを表示 3 $args = array( 4 'post_type' => 'post', 5 'paged' => $paged, 6 'posts_per_page' => 10, /* 表示する記事数を入力 */ 7 'order' => 'DESC' //並び順の指定(降順) 8 ); 9 $the_query = new WP_Query($args); 10 if ($the_query->have_posts()) : 11 ?> 12 13 <?php while ($the_query->have_posts()) : $the_query->the_post(); ?> 14 15 <a class="card" href="<?php echo get_permalink(); ?>"> 16 <div class="card-skin"> 17 <div class="card__imgframe"> 18 <?php if (has_post_thumbnail()) : ?> 19 <?php the_post_thumbnail('full'); ?> 20 <?php endif; ?> 21 </div> 22 <div class="card__textbox"> 23 <div class="card__overviewtext"> 24 <div class="flex"> 25 <?php the_tags('<ul><li class="tagcloud">', '</li><li class="tagcloud">', '</li></ul>'); ?> 26 <?php echo get_the_date(); ?> 27 </div> 28 </div> 29 <div class="card__titletext"> 30 <?php the_title(); ?> 31 </div> 32 </div> 33 </div> 34 </a> 35 36 <?php endwhile; ?> 37 <?php endif; ?> 38 </div> 39 </div> 40 <?php 41if ($the_query->max_num_pages > 1) { 42 echo paginate_links(array( 43 'base' => get_pagenum_link(1) . '%_%', 44 'format' => '/page/%#%/', 45 'current' => max(1, $paged), 46 'class' => 'pagination', 47 'prev_text' => '←', //「前へ」のテキスト。 48 'next_text' => '→', //「次へ」のテキスト 49 'type' => 'list', 50 'total' => $the_query->max_num_pages 51 )); 52} 53?> 54<?php wp_reset_query(); ?>

試したこと

query_postsからWP_Queryに変更しました
他のページネーションをサイトからもってきて、コピペで試しましたが、表示されないこともあったため現在の形になっています。

補足情報(FW/ツールのバージョンなど)

vscode
wordpress使用

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

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

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

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

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

guest

回答2

0

自己解決

プラグインを使用して解決しました

投稿2021/02/04 13:33

konno0928

総合スコア3

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

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

0

ざっと見た感じ $paged という変数に値を設定していないようです。

投稿2021/02/03 23:05

tabuu

総合スコア2480

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

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

konno0928

2021/02/04 01:13

tabuuさん回答ありがとうございます ・調べてわかったこと 現在のページ順を「$paged」と変数を定義 現在のページ順の情報は「get_query_var()」という関数で引数に「paged」を指定することで取得 $paged = get_query_var('paged');で指定している ・確認したいこと この値の設定で間違いないでしょうか? この数値はどうコードはどの場所に入れるのがいいのでしょうか? 知識が浅くてすみません
tabuu

2021/02/04 03:34

>この値の設定で間違いないでしょうか? デバッグできているわけではありませんので、お試しください。 >この数値はどうコードはどの場所に入れるのがいいのでしょうか? <?php の直後でいいのではないでしょうか。
konno0928

2021/02/04 04:22

<?phpの直後に入力し試しましたが、前回と同じ状況でした 内容の確認のために、足りない情報等があれば仰ってもらえれば準備しますので 原因がわかればアドバイスください
tabuu

2021/02/04 07:02

$pagedは2ページ目以降はそのページになっていますでしょうか? paginate_linksは想定してるページネーションになっていますでしょうか? (ページ数やリンク先のURLなど)
konno0928

2021/02/04 07:35

>$pagedは2ページ目以降はそのページになっていますでしょうか? 2ページ目もそれ以降のページも1ページ目と同じ内容になってしまっています >paginate_linksは想定してるページネーションになっていますでしょうか? (ページ数やリンク先のURLなど) ループでもget_pagenum_link()を使用していて 、投稿は表示されている状況です ページ数は現在4ページになっています 'posts_per_page' => 10, /* 表示する記事数を入力 */を使用しているので、 40記事を作成してページネーションも1.2.3.4と表示はされています ページネーションのリンクを検証ツールで見るとこんな感じになっています <a class="page-numbers" href="http://pandablog.local/?cache-buster=1260%2Fpage%2F7%2F%2Fpage%2F2%2F%2Fpage%2F2%2F%2Fpage%2F2%2F%2Fpage%2F3%2F%2Fpage%2F2%2F%2Fpage%2F7%2F%2Fpage%2F2%2F%2Fpage%2F2%2F%2Fpage%2F3%2F%2Fpage%2F3%2F%2Fpage%2F7%2F%2Fpage%2F2%2F%2Fpage%2F2%2F%2Fpage%2F2%2F%2Fsingle-posts%2F2%2F%2Fsingle-posts%2F3%2F%2Fsingle-posts%2F2%2F%2Fpage%2F2%2F%2Fpage%2F2%2F%2Fpage%2F3%2F%2Fpage%2F4%2F%2Fpage%2F2%2F%2Fpage%2F3%2F%2Fpage%2F2%2F%2Fpage%2F3%2F/page/2/">2</a>
tabuu

2021/02/04 08:02

>2ページ目もそれ以降のページも1ページ目と同じ内容になってしまっています $pagedという変数には1ページ目は1、2ページ目は2、3ページ目は3 というようにページ番号通りの値が入っていますか? >ページネーションのリンクを検証ツールで見るとこんな感じになっています 明らかにおかしくないでしょうか? paginate_linksという関数は使ったことないのでアドバイスできませんが、 引数が合っているかご確認ください。
konno0928

2021/02/04 08:39

>$pagedという変数には1ページ目は1、2ページ目は2、3ページ目は3 というようにページ番号通りの値が入っていますか 2ページ目以降に移動することができないため、検証ツールで確認することができません 他に方法があれば、教えてもらえると嬉しいです すみません  >明らかにおかしくないでしょうか? paginate_linksという関数は使ったことないのでアドバイスできませんが、 引数が合っているかご確認ください。 'base' => get_pagenum_link(1) . '%_%', 'format' => 'page/%#%/', の/%#%/はどんな意味で使用していると思われますか?コピペした内容なので分からずにいます ページネーションのリンクは <a class="page-numbers" href="http://pandablog.local/page/2/">2</a>になりました
konno0928

2021/02/04 09:20

CHERRYさん回答ありがとうございます! 初期値: '%_%'という意味なのですね 探してはいたのですが、見つからずにいたので助かります!
konno0928

2021/02/04 13:32

対応してくださいましたCHERRYさん tabuuさん プラグインを使用して実施することにしましたので、内容は解決しました ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問