شماره صفحات وردپرس بدون افزونه

شماره صفحات وردپرس بدون افزونه

یکی از پرکاربرد ترین کد های وردپرس، کد شماره صفحات بدون افزونه می باشد. اما کدی که امروز برای شما آماده کرده ایم با کد های قبلی کاملا فرق می کند. امروز کد را بصورت حرفه ای مانند افزونه ها برای شما قرار می دهیم که میتوان برای آن محدوده شماره ها، لینک اولین، آخرین، قبلی و بعدی تعریف کرد. کد اصلی بصورت زیر است که شما باید آن را به فایل functions.php اضافه نمایید:

function pagination($pages = '', $range = 4)
{ 
    $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($pages !== 1)
    {
        echo "<div class=\"pagination\"><span>صفحه ".$paged." از ".$pages."</span>";
        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";
    }
}

حال برای نمایش شماره صفحات کافیست کد زیر را در مکان دلخواه قرار دهید:

if(function_exists("pagination")) pagination();

کد بالا شماره صفحات شما را تا محدود 4 شماره صفحه (مانند تصویر) به نمایش می گذارد.

page-navi-wp

طبق تابع اگر در جایی نیاز بود تعداد صفحات رو خودتان وارد کنید می توانید آن را به پارامتر اول و اگر خواستید محدوده آن را تغییر دهید از پارامتر دوم استفاده کنید. همچنین استایل شماره صفحات (مانند تصویر بالا) بصورت زیر است:

.pagination {
	clear:both;
	padding:20px 0;
	position:relative;
	font-size:11px;
	line-height:13px;
}
 
.pagination span, .pagination a {
	display:block;
	float:right;
	margin: 2px 2px 2px 0;
	padding:6px 9px 5px 9px;
	text-decoration:none;
	width:auto;
	color:#FFF !important;
	background: #555;
}
 
.pagination a:hover{
	color:#fff;
	background: #3279BB;
}
 
.pagination .current{
	padding:6px 9px 5px 9px;
	background: #3279BB;
	color:#FFF !important;
}

 در پایان اگر سوالی در رابطه با این کد دارید می توانید در قسمت نظرات بپرسید.

4 thoughts on “شماره صفحات وردپرس بدون افزونه

    1. function pagination($pages = '', $range = 4)
      { 
          $showitems = ($range * 2)+1; 
      	$html = "";
          global $paged;
          if(empty($paged)) $paged = 1;
       
          if($pages == '')
          {
              global $wp_query;
              $pages = $wp_query->max_num_pages;
              if(!$pages)
              {
                  $pages = 1;
              }
          }  
       
          if($pages !== 1)
          {
              $html .= "<div class=\"pagination\"><span>صفحه ".$paged." از ".$pages."</span>";
              if($paged > 2 && $paged > $range+1 && $showitems < $pages) $html .= "<a href='".get_pagenum_link(1)."' rel="nofollow">&laquo; اولین</a>";
              if($paged > 1 && $showitems < $pages) $html .= "<a href='".get_pagenum_link($paged - 1)."' rel="nofollow">&lsaquo; قبلی</a>";
       
              for ($i=1; $i <= $pages; $i++)
              {
                  if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems ))
                  {
                      $html .= ($paged == $i)? "<span class=\"current\">".$i."</span>":"<a href='".get_pagenum_link($i)."' class=\"inactive\" rel="nofollow">".$i."</a>";
                  }
              }
       
              if ($paged < $pages && $showitems < $pages) $html .= "<a href=\"".get_pagenum_link($paged + 1)."\" rel="nofollow">بعدی &rsaquo;</a>"; 
              if ($paged < $pages-1 &&  $paged+$range-1 < $pages && $showitems < $pages) $html .= "<a href='".get_pagenum_link($pages)."' rel="nofollow">آخرین &raquo;</a>";
              $html .= "</div>\n";
          }
      	
      	return $html;
      }
      

      از تابع بالا استفاده کنید . حالا این تابع یه مقدار بر میگردونه
      کافیه از همون تابع تبدیل اعداد استفاده کنید و سپس چاپش کنید!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.