نمایش شماره صفحات بدون پلاگین !

بنا به درخواست دوستان مطلب کاملتر و حرفه ای تر برای ساخت شماره صفحه بدون پلاگین ارسال شد. برای مشاهده مطلب دقیقتر و بهتر به لینک “صفحه بندی مطالب در وردپرس” مراجعه نمایید.

با توجه به درخواست کاربران , کد این مطلب در تاریخ 24 آذر تغییر پیدا کرد
اگر از بچه های خونگرم همیار وردپرس باشید در جریان هستید که چندی پیش پلاگین مبنی بر نمایش شماره صفحه در صفحه اصلی برای مطالب قرار دادیم خب امروز میخواهیم با یک کد ساده این کار رو انجام بدیم ! جالبه نه ؟! امروز هم باما باشید …

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

<?php function wp_corenavi() {   global $wp_query, $wp_rewrite;   $pages = '';   $max = $wp_query--->max_num_pages;
  if (!$current = get_query_var('paged')) $current = 1;
  $a['base'] = str_replace(999999999, '%#%', get_pagenum_link(999999999));
  $a['total'] = $max;
  $a['current'] = $current;
 
  $total = 1; //1 - display the text "Page N of N", 0 - not display
  $a['mid_size'] = 5; //how many links to show on the left and right of the current
  $a['end_size'] = 1; //how many links to show in the beginning and end
  $a['prev_text'] = '« Previous'; //text of the "Previous page" link
  $a['next_text'] = 'Next »'; //text of the "Next page" link
 
  if ($max > 1) echo '</pre>
<div class="navigation">';
 if ($total == 1 && $max > 1) $pages = '<span class="pages">Page ' . $current . ' of ' . $max . '</span>'."\r\n";
 echo $pages . paginate_links($a);
 if ($max > 1) echo '</div>
<pre>
';
}
?>

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

<?php if (function_exists('wp_corenavi')) wp_corenavi(); ?>
آیا این مقاله برای شما مفید بود؟
تقریبا
خیر

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

ارسال دیدگاه به معنی این است که شما ابتدا قوانین ارسال دیدگاه را مطالعه کرده‌اید و با آن موافق هستید.

دیدگاه‌های این نوشته جدید ترین ها شاخص

  1. سلام و عرض خسته نباشید
    کد بسیار جالب و کاملی هست ممنون. فقط یه سئوال داشتم.من این کد رو برای نمایش شماره صفحات در یک page مثلا به اسم مقالات وارد کردم و درست و کامل شماره صفحات رو نشون میده.فقط مشکلی که هست اینه که من تو اون صفحه میخوام مقالاتی از یک دسته خاص مثلا علمی نمایش داده بشه که این کد با دستور wp_query(‘cat’=number) مشکل داره.تست کردم دیدم مشکل از خط $wp_query->query(‘paged=’.$paged) هست. میشه راهنمایی کنید؟ ممنون

  2. کد شما به کل سایت من رو ویران کرد
    سایتم اصلا بالا نمیاد.. 😐

  3. خیلی ممنون

  4. با سلام خدمت شما
    بالخره تونستم راه درستشو پیدا کنم
    خواهشا این پست رو به روز رسانی کنید

    علت اون خطایی که در برخی کاربران هنگام قرار دادن کد در بخش functions.php میداد این بود که

    نباید در فایل functions.php دو تا زبان php شروع و بسته بشه
    برای همین باید اینکارو کراد اول به پوشه functions.php رفته و از همون اول که نوشته <?php
    نوشته لازم نیست <?php نوشته شده در کد رو هم بنویسید

    کد رو باید <?php سطح بعدی بزارید و کد که یکی اول و یکی در اخر هست نباید در اون فایل قرار دهید

    با تشکر از سایت خوب شما که هر چی یاد گرفتم از اینجا شروع کردم

  5. با سلام خدمت شما
    نمیدونم مشکل از قالب منه یا از کد ولی از وقتی این کد رو در جایی که گفته بودید قرار داده بودم

    یه مشکلی پیش اومده بود که نه میتونستم مطالب ارسال کنم نه میتونم قالب رو تغییر بدم و برای هر کاری این خطا رخ میداد
    Warning: Cannot modify header information – headers already sent by (output started at /home/mgpvir/public_html/wp-content/themes/template47-wordpress/functions.php:94) in /home/mgpvir/public_html/wp-includes/pluggable.php on line 876

    و بعد متوجه شدم که اشکال از این کد هست

  6. برای افزایش تعداد صفحات ، نمایش تعداد پست ها داخل صفحه رو از قسمت تنظیمات وردپرستون کاهش بدید.

  7. منم در مورد استایل دهیش سوال داشتم چطور به همون شکلی که توی عکس گذاشتید تغییرش بدم وسوال دوم چطور تعداد صفحات رو زیاد کنم

  8. سلام.خیلی خیلی ممنون بسیار مفید و عالی بود مثل همیشه.
    اما چطوری استایل دهیش کنم؟ برای مثال این وجود داره در حاصل کد:
    Page 1 of 2
    چطوری از لینگ Next و شماره صفحات تفکیکش بدم برای استایل دهی؟!

  9. خوب اگر قالب فایل function.php نداشته باشه چی ؟‌!

  10. فوق العاده بود.حتی برای صفحه جاری هم کلاس گذاشته..همونی بود که میخواستم..خیلی متشکرم.راستی برای فارسی سازی تم وردپرس من میتونم با شما همکاری کنم.با ایمیلم تماس بگیرید.