Pagination For Pinbin WordPress Theme

I found a very good pagination code that works perfect for Pinbin

Add the following function to your functions.php file:

    function 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\"><span>Page ".$paged." of ".$pages."</span>";
             if($paged > 2 && $paged > $range+1 && $showitems < $pages) echo "<a href='".get_pagenum_link(1)."'>&laquo; First</a>";
             if($paged > 1 && $showitems < $pages) echo "<a href='".get_pagenum_link($paged - 1)."'>&lsaquo; Previous</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)."'>".$i."</a>";
                 }
             }

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

To style it, add the following to your stylesheet (typically style.css).

    .pagination {
    clear:both;
    padding:20px 0;
    position:relative;
    font-size:11px;
    line-height:13px;
    }

    .pagination span, .pagination a {
    display:block;
    float:left;
    margin: 2px 2px 2px 0;
    padding:6px 9px 5px 9px;
    text-decoration:none;
    width:auto;
    color:#fff;
    background: #555;
    }

    .pagination a:hover{
    color:#fff;
    background: #3279BB;
    }

    .pagination .current{
    padding:6px 9px 5px 9px;
    background: #3279BB;
    color:#fff;
    }

Finally, replace the pagination function in your theme (typically near the bottom of index.php or loop.php where it says “Older posts” or “Older entries”).

    <?php if (function_exists("pagination")) {
        pagination($additional_loop->max_num_pages);
    } ?>

@UserX

Awesome! Thank you for posting solution on forum, so other can find it useful as well!

Looks great!

I almost forgot…

If you want the colors to match that of the Pinbin theme then here are the codes:

background = 444444
hover = 777777
current = 777777

And is it possible to remove pagination at all and just load previous entries when the user reaches the end of the page?:slight_smile: