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

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

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

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

PHP

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

Q&A

0回答

392閲覧

コードのどこが間違えているのかわからない。

yusukeh

総合スコア15

WordPress

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

PHP

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

0グッド

1クリップ

投稿2019/07/20 10:58

ページネーションをつくっているのですが、下のコードを記述しても、数字の羅列になってしまいます。

function

1 $showitems = ($range * 2)+1; 2 global $paged; 3 if(empty($paged)){$paged = 1;} 4 if($pages == '') { 5 global $wp_query; 6 $pages = $wp_query->max_num_pages;} 7 if(!$pages){ 8 $pages = 1; 9 } 10 11 if(1 != $pages) { 12 13 echo '<ul class="pagenation" role="menubar" aria-label="Pagination">'; 14 echo '<li class="first"><a href="'.get_pagenum_link(1).'"><<</a></li>'; 15 echo '<li class="prev"><a href="'.get_pagenum_link($paged - 1).'"><</a></li>'; 16if($pages <= $range*2){ 17for ($i = 1; $i <= $pages; $i++){ 18 echo ($paged == $i)? '<li class="current"><a>'.$i.'</a></li>':'<li><a href="'.get_pagenum_link($i).'" class="inactive" >'.$i.'</a></li>'; 19} 20} 21elseif($pages > $range*2 && $paged > $range*2 && $pages - $paged < $range ){ 22for ($i= $paged - $range; $i <= $paged + ($pages - $paged); $i++){ 23 echo ($paged == $i)? '<li class="current"><a>'.$i.'</a></li>':'<li><a href="'.get_pagenum_link($i).'" class="inactive" >'.$i.'</a></li>'; 24} 25} 26elseif($pages > $range*2 && $paged > $range*2 && $pages - $paged >= $range ){ 27for ($i= $paged - $range; $i <= $paged + $range; $i++){ 28 echo ($paged == $i)? '<li class="current"><a>'.$i.'</a></li>':'<li><a href="'.get_pagenum_link($i).'" class="inactive" >'.$i.'</a></li>'; 29} 30} 31elseif($pages > $range*2 && $paged <= $range*2 ){ 32for ($i=1; $i<=$range*2; $i++) { 33 echo ($paged == $i)? '<li class="current"><a>'.$i.'</a></li>':'<li><a href="'.get_pagenum_link($i).'" class="inactive" >'.$i.'</a></li>'; 34} 35} 36else{ 37} 38 39 echo '<li class="next"><a href="'.get_pagenum_link($paged + 1).'">></a></li>'; 40 echo '<li class="last"><a href="'.get_pagenum_link($pages).'">>></a></li>'; 41 echo '</ul>'; 42 } 43} 44 45 46コード
if (function_exists('pagination')) { $GLOBALS['wp_query']->max_num_pages = $the_query->max_num_pages; $max_num_pages = $the_query->max_num_pages; pagination($max_num_pages); } ?> コード

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

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

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

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

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

y_waiwai

2019/07/20 12:27

理想とする動作とはどういうもので、現状のコードではどういう動作をするんでしょうか。 問題がなになのかわかりません。詳しく説明しましょう
yusukeh

2019/07/20 14:29

理想は$pagesが$range*2+1以下の時は$pages 以上の時は $range*2+1の数の数字が表示されていることで、$rangeを2として書いてます。45678みたいになってほしいです。
y_waiwai

2019/07/20 14:36

そんで現状のコードではどうなる? これらを、質問を編集して追記しましょう
yusukeh

2019/08/22 09:56

固定ページのページネイション二番目のこーどとfunctions.phpにしたを記述することでできました。 function pagination($pages = '', $range = 3){ $showitems = ($range * 2)+1; global $paged; if(empty($paged)){$paged = 1;} if($pages == '') { global $wp_query; $pages = $wp_query->max_num_pages;} if(!$pages){ $pages = 1; } if(1 != $pages) { echo $paged; echo $pages; echo '<ul class="pagenation" role="menubar" aria-label="Pagination">'; echo '<li class="first"><a href="'.get_pagenum_link(1).'"><<</a></li>'; echo '<li class="prev"><a href="'.get_pagenum_link($paged - 1).'"><</a></li>'; //最大ページ数が表示される数より同じか小さいとき 12345x x=5 (先はない) if($pages <= $range*2+1){ for ($i = 1; $i <= $pages; $i++){ echo ($paged == $i)? '<li class="current"><a>'.$i.'</a></li>':'<li><a href="'.get_pagenum_link($i).'" class="inactive" >'.$i.'</a></li>'; } } //最大ページ数が表示される数より大きくて、現在のページ番号が表示される数量より大きく、最大から現ぺを引いた数が横幅より小さい x>=6-7 45'6'78 elseif($pages > $range * 2 + 1 && $paged > $range * 2 + 1 && $pages - $paged < $range ){ for ($i = $pages - $range *2; $i <= $paged + ($pages - $paged); $i++){ echo ($paged == $i)? '<li class="current"><a>'.$i.'</a></li>':'<li><a href="'.get_pagenum_link($i).'" class="inactive" >'.$i.'</a></li>'; } } //最大ページ数が表示される数より大きくて、現在のページ番号が表示される数量より大きく、最大から現ぺを引いた数が横幅よりおなじかおおきい x>=8- 45'6'78 elseif($pages > $range * 2 + 1 && $paged > $range * 2 + 1 && $pages - $paged >= $range ){ for ($i= $paged - $range; $i <= $paged + $range; $i++){ echo ($paged == $i)? '<li class="current"><a>'.$i.'</a></li>':'<li><a href="'.get_pagenum_link($i).'" class="inactive" >'.$i.'</a></li>'; } } //最大ページ数が表示される数より大きくて、現在のページ番号が横幅より小さく elseif($pages > $range * 2 + 1 && ($paged <= $range) && ($paged >= 1) ){ for ($i = +1 ; $i <= $range * 2 + 1; $i++) { echo ($paged == $i)? '<li class="current"><a>'.$i.'</a></li>':'<li><a href="'.get_pagenum_link($i).'" class="inactive" >'.$i.'</a></li>'; } } //最大ページ数が表示される数より大きくて、現在のページ番号が1のとき //elseif($pages > $range * 2 + 1 && $paged = 1 ){ //for ($i = +1 ; $i <= $range * 2 + 1; $i++) { // echo ($paged == $i)? '<li class="current"><a>'.$i.'</a></li>':'<li><a href="'.get_pagenum_link($i).'" class="inactive" >'.$i.'</a></li>'; //} //} //最大ページ数が表示される数より大きくて、現在のページ番号が表示される数より同じか小さく、横幅より同じか大きい elseif($pages > $range * 2 + 1 && $paged <= $range * 2 + 1 && $paged > $range ) { for($i = $paged - $range; $i <= $paged + $range; $i++){ echo ($paged == $i)? '<li class="current"><a>'.$i.'</a></li>':'<li><a href="'.get_pagenum_link($i).'" class="inactive" >'.$i.'</a></li>'; } } else{ } echo '<li class="next"><a href="'.get_pagenum_link($paged + 1).'">></a></li>'; echo '<li class="last"><a href="'.get_pagenum_link($pages).'">>></a></li>'; echo '</ul>'; } }
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問