Powered By Blogger

Wednesday, October 10, 2018

Custom pagination create OR only show before and after three page in pagination links in PHP

function smartsimple_pagination($pages = '', $current_page, $range = 2)
{
    $showitems = ($range * 2)+1;
    $paginationHTML = '';

 
    if (empty($current_page)) {
        $current_page = 1;
    }

   /* if ($pages == '') {
        global $wp_query;
        $pages = $wp_query->max_num_pages;
        if (!$pages) {
            $pages = 1;
        }
    }*/

    if (1 != $pages) {
        $paginationHTML = "<div class='pagination'>Page:&nbsp;";
        if ($current_page > 2 && $current_page > $range+1 && $showitems < $pages) {
            $paginationHTML .= "<a class='btn btn-sm btn-default' href='".get_pagenum_link(1)."'><i class='fa fa-angle-double-left'></i></a>";
        }
        if ($current_page > 1 && $showitems < $pages) {
            $paginationHTML .= "<a class='btn btn-sm btn-default' href='".get_pagenum_link($current_page - 1)."'><i class='fa fa-angle-left'></i></a>";
        }

        for ($i=1; $i <= $pages; $i++) {
            if (1 != $pages &&(!($i >= $current_page+$range+1 || $i <= $current_page-$range-1) || $pages <= $showitems)) {
                $paginationHTML .= ($current_page == $i)? "<span class='btn btn-warning btn-sm'>".$i."</span>":"<a href='".get_pagenum_link($i)."' class='btn btn-default btn-sm' >".$i."</a>";
            }
        }

        if ($current_page < $pages && $showitems < $pages) {
            $paginationHTML .= "<a class='btn btn-default btn-sm' href='".get_pagenum_link($current_page + 1)."'><i class='fa fa-angle-right'></i></a>";
        }
        if ($current_page < $pages-1 &&  $current_page+$range-1 < $pages && $showitems < $pages) {
            $paginationHTML .= "<a class='btn btn-default btn-sm' href='".get_pagenum_link($pages)."'><i class='fa fa-angle-double-right'></i></a>";
        }
        global $wp_query;
        $paginationHTML .= "&nbsp;of&nbsp;";
        $paginationHTML .= $pages;
        $paginationHTML .= "&nbsp;total pages</div>";
    }

    return $paginationHTML;
}




WordPress


//begin pagination
function gic_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'>Page:&nbsp;";
        if ($paged > 2 && $paged > $range+1 && $showitems < $pages) {
            echo "<a class='btn btn-sm btn-default' href='".get_pagenum_link(1)."'><i class='fa fa-angle-double-left'></i></a>";
        }
        if ($paged > 1 && $showitems < $pages) {
            echo "<a class='btn btn-sm btn-default' href='".get_pagenum_link($paged - 1)."'><i class='fa fa-angle-left'></i></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='btn btn-warning btn-sm'>".$i."</span>":"<a href='".get_pagenum_link($i)."' class='btn btn-default btn-sm' >".$i."</a>";
            }
        }

        if ($paged < $pages && $showitems < $pages) {
            echo "<a class='btn btn-default btn-sm' href='".get_pagenum_link($paged + 1)."'><i class='fa fa-angle-right'></i></a>";
        }
        if ($paged < $pages-1 &&  $paged+$range-1 < $pages && $showitems < $pages) {
            echo "<a class='btn btn-default btn-sm' href='".get_pagenum_link($pages)."'><i class='fa fa-angle-double-right'></i></a>";
        }
        global $wp_query;
        echo "&nbsp;of&nbsp;";
        echo $wp_query->max_num_pages;
        echo "&nbsp;total pages</div>";
    }
}

//end pagination


No comments:

Post a Comment