質問編集履歴

1 誤字

gori_K

gori_K score 3

2017/03/17 21:33  投稿

wordpressページャー設定
###前提・実現したいこと
wordpressでカテゴリーアーカイブページのページャーを実装したいです
現在出来ていないことは二点です。  
・次へ、前へボタンだす  
・数字を押して本来表示されるべき記事を表示する。
###発生している問題・エラーメッセージ
現状ページャー内に出ている数字を押しても一ページ目の記事と同じものが出てきてしまっています。(※数字は正しいものがアクティブになっています。)
###該当のソースコード
//ページング
function custom_pagination() {
   global $wp_query;
   $paged = ( get_query_var('page') == 0 ) ? 1 : get_query_var('page');
   $maxpage = $wp_query->max_num_pages;
   if($maxpage>6){
       if($paged < 5){// 最初の4つの処理
           $start = 1;
           $first = "";
           $last = $maxpage;
       }else if($paged > $count-4){ //最後4つの処理
           $start = $maxpage-4;
           $first = 1;
           $last = "";
       }else{
           $start = $paged-2;
           $first = 1;
           $last = $maxpage;
       }
       $to = $start+4;
   }else{
       $start = 1;
       $to = $maxpage;
       $first = "";
       $last = "";
   }
   echo '<div class="pager">';
       echo '<ul>';
           if(!empty($first)){
               echo '<li><a href="?page='.$first.'">'.$first.'</a></li>';
               echo '<li>…</li>';
           }
           for($i = $start; $i <= $to; $i++){
               if($paged == $i) echo '<li class="active">'.$i.'</li>';
               else echo '<li><a href="?page='.$i.'">'.$i.'</a></li>';
           }
           if(!empty($last)){
               echo '<li>…</li>';
               echo '<li><a href="?page='.$last.'">'.$last.'</a></li>';
           }
       echo '</ul>';
       if($paged > 1){echo '<p class="prev"><a href="?page='.($paged-1).'"></a></p>';}
       if($paged < $maxpage){echo '<p class="next"><a href="?page='.($paged+1).'"></a></p>';}
   echo '</div>';
}
```
###試したこと
###補足情報(言語/FW/ツール等のバージョンなど)
  • PHP

    24628 questions

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

  • WordPress

    9160 questions

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

  • ページネーション

    41 questions

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

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る