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

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

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

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

ページネーション

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

HTML

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

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

0回答

714閲覧

Wordpressのカテゴリー一覧で次ページが404になる

Fumika8

総合スコア6

WordPress

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

ページネーション

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

HTML

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

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2019/11/14 21:01

Wordpressでブログカテゴリーの一覧を作っったのですが、
ページネーションがうまくうごきません。

▼ブログ一覧ページ(表示される)
wp/category/blog/campaign/

▼ブログ一覧ページ2ページ目(エラーで404になる)
wp/category/blog/campaign/page/2/

パーマリンクは
/%category%/%post_id%/
で設定しています。

おそらく、ブログ記事を参照して、そんなブログがないということになっているのかと思うのですが、
解決のアイディアが浮かばず、調べても全然わかりませんでした。

書いているコードは下記です。

function.php

1function pagination( $pages, $paged, $range = 2, $show_only = true ) { 2 3 $pages = ( int ) $pages; //float型で渡ってくるので明示的に int型 へ 4 $paged = $paged ?: 1; //get_query_var('paged')をそのまま投げても大丈夫なように 5 6 //表示テキスト 7 $text_first = "TOP"; 8 $text_before = ""; 9 $text_next = ""; 10 $text_last = "LAST"; 11 12 if ( $show_only && $pages === 1 ) { 13 // 1ページのみで表示設定が true の時 14 echo '<div class="pagination"><span class="current pager">1</span></div>'; 15 return; 16 } 17 18 if ( 1 !== $pages ) { 19 //2ページ以上の時 20 if ( $paged > 1 ) { 21 // 「最初へ」 の表示 22 echo '<a href="', get_pagenum_link(1) ,'" class="first">', $text_first ,'</a>'; 23 } 24 if ( $paged > 1 ) { 25 // 「前へ」 の表示 26 echo '<a href="', get_pagenum_link( $paged - 1 ) ,'" class="prev">', $text_before ,'</a>'; 27 } 28 for ( $i = 1; $i <= $pages; $i++ ) { 29 30 if ( $i <= $paged + $range && $i >= $paged - $range ) { 31 // $paged +- $range 以内であればページ番号を出力 32 if ( $paged === $i ) { 33 echo '<span class="current pager">', $i ,'</span>'; 34 } else { 35 echo '<a href="', get_pagenum_link( $i ) ,'" class="pager">', $i ,'</a>'; 36 } 37 } 38 39 } 40 if ( $paged < $pages ) { 41 // 「次へ」 の表示 42 echo '<a href="', get_pagenum_link( $paged + 1 ) ,'" class="next">', $text_next ,'</a>'; 43 } 44 if ( $paged < $pages ) { 45 // 「最後へ」 の表示 46 echo '<a href="', get_pagenum_link( $pages ) ,'" class="last">', $text_last ,'</a>'; 47 } 48 } 49} 50 51 52

category.php

1<?php 2 3 $paged = get_query_var('paged') ?: 1; 4 $args = array( 5 'paged' => $paged, 6 'posts_per_page' => 3 // 投稿件数の指定 7 ); 8 9 $the_query = new WP_Query($args); if($the_query->have_posts()): 10 ?> 11 <?php while ($the_query->have_posts()): $the_query->the_post(); ?> 12 13 <div class="box"> 14 <figure> 15 <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('archive_blog_img'); ?></a> 16 </figure> 17 <div class="textarea"> 18 <p class="date"><?php echo get_the_date(); ?></p> 19 <p class="b-title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p> 20 <div class="b-content"> 21 <a href="<?php the_permalink(); ?>"><?php the_excerpt(); ?></a> 22 </div> 23 <div class="tags"> 24 <?php the_tags('<span class="tag">','</span><span class="tag">','</span>'); ?> 25 </div><!-- / tags--> 26 </div><!-- /textarea --> 27 </div><!-- /box --> 28 29 <?php endwhile; ?> 30 <?php else: ?> 31 <?php endif; ?> 32 33 </div><!-- /boxs --> 34 35 <div class="pagenation"> 36 <?php 37 if ( function_exists( 'pagination' ) ) : 38 pagination( $the_query->max_num_pages, $paged ); 39 endif; 40 ?> 41 42 43 <?php wp_reset_postdata(); ?>

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問