WordPressにプラグイン無しでページネーションを入れる(2パターン)

//WordPressにプラグイン無しでページネーションを入れる(2パターン)

WordPressにプラグイン無しでページネーションを入れる(2パターン)

どうも、最近更新をおろそかにしています。よっしぃーです。

コリスさんのWordPressにプラグイン無しでページネーションを設置する方法はすごく便利なのでご紹介。

 

記事より(パターン1)

function kriesi_pagination($pages = '', $range = 2)
{  
     $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 "

<div class='pagination'>";
         if($paged > 2 && $paged > $range+1 && $showitems < $pages) echo "<a href='".get_pagenum_link(1)."'>&laquo;</a>";
         if($paged > 1 && $showitems < $pages) echo "<a href='".get_pagenum_link($paged - 1)."'>&lsaquo;</a>";

         for ($i=1; $i <= $pages; $i++)          {              if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems ))
             {
                 echo ($paged == $i)? "<span class='current'>".$i."</span>":"<a href='".get_pagenum_link($i)."' class='inactive' >".$i."</a>";
             }
         }

         if ($paged < $pages && $showitems < $pages) echo "<a href='".get_pagenum_link($paged + 1)."'>&rsaquo;</a>";  
         if ($paged < $pages-1 &&  $paged+$range-1 < $pages && $showitems < $pages) echo "<a href='".get_pagenum_link($pages)."'>&raquo;</a>";
         echo "</div>

\n";
     }
}

これは結構使っていました。

最近これに「…」というページネーション省略コマを追加しなくてはならなくなったので、カスタマイズ版を紹介

パターン2

function kriesi_pagination($pages = '', $range = 1)// 数値変更
{
    $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 "

<div class='pagination'>";
        if($paged > 2 && $paged > $range+1 && $showitems < $pages) echo "<a href='".get_pagenum_link(1)."'>&laquo;</a>";
        if($paged > 1 && $showitems < $pages) echo "<a href='".get_pagenum_link($paged - 1)."'>&lsaquo;</a>";

        if($paged > 3 && $paged > $range+1 && $showitems < $pages) echo "<a href='".get_pagenum_link(1)."'>1</a> ... "; // 頭の方追加

        if(($paged > 1 && $showitems < $pages) || ($paged < $pages && $showitems < $pages) ) { // はじめか最後付近の場合

            for ($i=1; $i <= $pages; $i++)             {                if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems || $paged == 1 && $i==3 || $paged == $pages && $i==$pages-2 ) )) //条件を追加
                {
                    echo ($paged == $i)? "<span class='current'>".$i."</span>":"<a href='".get_pagenum_link($i)."' class='inactive' >".$i."</a>";
                }
            }
        }else{ // 中央付近の場合

            for ($i=1; $i <= $pages; $i++)             {                if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems ))
                {
                    echo ($paged == $i)? "<span class='current'>".$i."</span>":"<a href='".get_pagenum_link($i)."' class='inactive' >".$i."</a>";
                }
            }
        }

        if ($paged < $pages-2 &&  $paged+$range-1 < $pages && $showitems < $pages) echo " ... <a href='".get_pagenum_link($pages)."'>".$pages."</a>"; // おしりの方追加

        if ($paged < $pages && $showitems < $pages) echo "<a href='".get_pagenum_link($paged + 1)."'>&rsaquo;</a>";
        if ($paged < $pages-1 &&  $paged+$range-1 < $pages && $showitems < $pages) echo "<a href='".get_pagenum_link($pages)."'>&raquo;</a>";
        echo "</div>

\n";
     }
}

これで3つ目以降のときに、頭に1ページ目と次に「…」、
最後から3つ目までは、最後に最後ページと前に「…」
が付きます。

 


 

スプラテューヌが流行ってますねぇ。
やってみたいけどそもそもゲーム機がないご家庭なので諦めるしかないっすねぇ。。。

黙ってスマホゲームで遊んどこうと思う私でした。

Deemo楽しい

2016-11-07T02:15:50+00:002015/08/08|Categories: WEB|

コメントする

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください