صفحه بندی وردپرس بدون افزونه

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

صفحه بندی وردپرس بدون افزونه

کدهای صفحه بندی صفحات وردپرس

برای این کار نیاز هستش که کدهای زیر رو به فایل functions.php قالبتون اضافه کنید ، فقط دقت کنید کدها با php?> شروع نشده بنابراین این کدها رو به انتهای فایل و قبل از پایات تگ php یعنی <? قرار بدید.

function wpbeginner_numeric_posts_nav() {
 if( is_singular() )
 return;
 global $wp_query;
 /** Stop execution if there's only 1 page */
 if( $wp_query-&gt;max_num_pages &lt;= 1 )
 return;
 $paged = get_query_var( 'paged' ) ? absint( get_query_var( 'paged' ) ) : 1;
 $max = intval( $wp_query-&gt;max_num_pages );
 /** Add current page to the array */
 if ( $paged &gt;= 1 )
 $links[] = $paged;
 /** Add the pages around the current page to the array */
 if ( $paged &gt;= 3 ) {
 $links[] = $paged - 1;
 $links[] = $paged - 2;
 }
 if ( ( $paged + 2 ) &lt;= $max ) {
 $links[] = $paged + 2;
 $links[] = $paged + 1;
 }
 echo '&lt;div class=&quot;navigation&quot;&gt;&lt;ul&gt;' . &quot;\n&quot;;
 /** Previous Post Link */
 if ( get_previous_posts_link() )
 printf( '&lt;li&gt;%s&lt;/li&gt;' . &quot;\n&quot;, get_previous_posts_link() );
 /** Link to first page, plus ellipses if necessary */
 if ( ! in_array( 1, $links ) ) {
 $class = 1 == $paged ? ' class=&quot;active&quot;' : '';
 printf( '&lt;li%s&gt;&lt;a href=&quot;%s&quot;&gt;%s&lt;/a&gt;&lt;/li&gt;' . &quot;\n&quot;, $class, esc_url( get_pagenum_link( 1 ) ), '1' );
 if ( ! in_array( 2, $links ) )
 echo '&lt;li&gt;…&lt;/li&gt;';
 }
 /** Link to current page, plus 2 pages in either direction if necessary */
 sort( $links );
 foreach ( (array) $links as $link ) {
 $class = $paged == $link ? ' class=&quot;active&quot;' : '';
 printf( '&lt;li%s&gt;&lt;a href=&quot;%s&quot;&gt;%s&lt;/a&gt;&lt;/li&gt;' . &quot;\n&quot;, $class, esc_url( get_pagenum_link( $link ) ), $link );
 }
 /** Link to last page, plus ellipses if necessary */
 if ( ! in_array( $max, $links ) ) {
 if ( ! in_array( $max - 1, $links ) )
 echo '&lt;li&gt;…&lt;/li&gt;' . &quot;\n&quot;;
 $class = $paged == $max ? ' class=&quot;active&quot;' : '';
 printf( '&lt;li%s&gt;&lt;a href=&quot;%s&quot;&gt;%s&lt;/a&gt;&lt;/li&gt;' . &quot;\n&quot;, $class, esc_url( get_pagenum_link( $max ) ), $max );
 }
 /** Next Post Link */
 if ( get_next_posts_link() )
 printf( '&lt;li&gt;%s&lt;/li&gt;' . &quot;\n&quot;, get_next_posts_link() );
 echo '&lt;/ul&gt;&lt;/div&gt;' . &quot;\n&quot;;
}

بعد از این کار نیاز هستش که کد زیر رو در صفحاتی مثل index.php , archive.php و  category.php در محل مشخص که می خواهید صفحه بندی نمایش داده بشه قرار بدید.

&lt;?php wpbeginner_numeric_posts_nav(); ?&gt;

استایل صفحه بندی صفحات وردپرس

در مرحله بعدی برای این که ظاهر خوبی هم داشته باشه نیاز هستش که استایل های زیر رو به انتهای فایل style.css قالبتون اضافه کنید.

.navigation li a,
.navigation li a:hover,
.navigation li.active a,
.navigation li.disabled {
 color: #fff;
 text-decoration:none;
}

.navigation li {
 display: inline;
}

.navigation li a,
.navigation li a:hover,
.navigation li.active a,
.navigation li.disabled {
 background-color: #6FB7E9;
 border-radius: 3px;
 cursor: pointer;
 padding: 12px;
 padding: 0.75rem;
}

.navigation li a:hover,
.navigation li.active a {
 background-color: #3C8DC5;
}

خوب کار ما تموم شده ، یکبار صفحه رو reload کنید تا استایل جدیدتون بارگذاری بشه و نتیجه رو ببینید.

کدهای صفحه بندی قالب وردپرس

البته من خودم فونت Byekan رو بهش اضافه کردم.

منبع انگلیسی آموزش

37 نظرات
  1. هانیه غفرانی می گوید

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

    این کد داخل فایلfunctionسایت هست میشه شما کد سمت اول در این قرار بدید بفرستید من نمی دونم دقیق باید کجا بزارم!!!!
    <?php

    /*
    * Loading DEVN's framework and HUBs library
    * (c) king-theme.com
    *
    */
    function iptrtl_add_stylesheet() {
    $template_dir_uri = get_template_directory_uri();
    $template_dir = get_template_directory();
    //$stylesheet_dir = get_stylesheet_directory();

    if ( file_exists("$template_dir/rtl.css") ) {
    wp_register_style( 'parent-theme-rtl', "$template_dir_uri/rtl.css" );
    wp_enqueue_style( 'parent-theme-rtl' );
    }
    }
    add_action('wp_print_styles', 'iptrtl_add_stylesheet');
    #Load core of theme
    include 'core/king.define.php';
    #
    #
    # END of REGISTRATION
    #
    #
    load_theme_textdomain( 'KING_DOMAIN', get_template_directory() . '/languages' );

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

    ممنون و تشکر فراوان

  2. محمد مهدی افقری می گوید

    واقعاً ساییتونعالی هست و امیدوارم بیشتر از این پیشرفت کنید
    منم مشکلم حل شد ممنون
    یک خواهش داشتم اونم این هست که اگه یک آموزش جامع ساخت قالب وردپرس بذارید ممنون میشم (البته رایگان)

  3. فرهاد می گوید

    سلام و خسته نباشید …
    آقا من این کد رو استفاده می کنم تو سایتم ولی هر صفحه ای رو میزنم بر میگرده به صفحه اول چی کار کنم ؟

    1. آرش حیدری می گوید

      سلام
      کدها رو حتما دارید اشتباه استفاده میکنید دوست عزیز

  4. حسن می گوید

    سلام به همه من زدم کامل کار کرد ولی وسط چین نیست میفته سمت راست چطور وسط چین کنمش ممنون

    1. آرش حیدری می گوید

      سلام
      لطفا css رو تغییر بدید تا این اتفاق بیفته .

  5. آوا می گوید

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

    1. آرش حیدری می گوید

      سلام
      نباید مشکلی باشه اگر کدها رو درست وارد کرده باشید
      مجدد روی یک قالب دیگه روی لوکال هاست یا جای دیگه تست کنید شاید مشکل از قالب یا تنظیمات باشه
      ممنون

  6. امیرحسین می گوید

    سلام ، من کدها رو گذاشتم و چون از قالب تک صفحه ای استفاده میکنم فقط برای وبلاگم میخواستم ،
    سوال : چرا فقط توو مرورگر کروم تغیرات اعمال شد ؟؟؟ توو فایر فاکس و غیره هیچ تغییری رخ نداد و این صفحه بندی به نمایش در نیومد!!!!!!!!!!!!!

    1. آرش حیدری می گوید

      سلام
      بخاطر کش مرورگر هاتون هستش ، لطفا کش رو پاک کنید باید در تمام مرورگر ها یکسان باشه .
      ممنون

  7. بهنام می گوید

    با سلام.
    آیا میشه کلمه ی برگه پیشین رو خودمون به کلمه ی صفحه ی بعد تغییر بدیم؟

    1. آرش حیدری می گوید

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

  8. مهدی می گوید

    با سلام من نمیدونم چرا تگ انگلیسی میزنم تو سایتم NotFound میزنه مشکل چیست راهنمایی کنید با این که مطلب وجود دارد

    مثال لینک تگ : http://www.youradio.ir/tag/Dariush/

    لینک مطلب : http://www.youradio.ir/1394/01/19/%D8%A2%D9%87%D9%86%DA%AF-%D8%AF%D8%A7%D8%B1%DB%8C%D9%88%D8%B4-%D8%A8%D9%87-%D9%86%D8%A7%D9%85-%D8%B4%D8%A8-%D8%A2%D8%AE%D8%B1/

    1. آرش حیدری می گوید

      سلام
      من همین الان چندتا تگ انگلیسی مربوط به همین آهنگ داریوش رو تست کردم سالم بود که !

  9. ALI می گوید

    سلام
    دستتون درد نکمه خیلی به کارم اومد

  10. فرزانه می گوید

    مرسی! کار میکنه :)

  11. علی می گوید

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

  12. رامین می گوید

    سلام
    از این آموزش ممنونم.
    من مشکلم اینه که وقتی صفحه ای رو میزنم 404 میده.
    یعنی نمیدونم اصلا آدرس صحیح صفحات چی میتونه باشه.
    /paged یا مثلا page/ خلاصه هرچی میزنم صفحه بعدی رو نمیاره.لطفا شما به اونجا سر بزنید و ببینید صفحه بعدی با چه لینکی باز میشه:(

  13. mohammad می گوید

    باسلام

    باتشکر از شما …

    ولی روی سایتی که من دارم با افزونه سئو هماهنگی نداره..
    افزونه سئوی منWordPress SEO هست…

    و وقتی که روی صفحات دیگر میزنیم به صفحه خطا404 ریدایرکت میشود..

    به نظر شما مشکل کجاست؟

  14. علی می گوید

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

  15. فاطمه قنبری می گوید

    خیلی ممنون

  16. نازنین می گوید

    خیلی ممنونم
    عالی بود …
    خیلی خوبم کار کرد

  17. pabico می گوید

    با سلام
    استاد واقعا خسته نباشي من يه تازه كارم حدود 3 هفته اي ميشه كار رو شروع كردم اول يه قالب خارجي را كلا فارسي كردم بعد هم از راهنمايي هاي شما در قسمتهاي مختلف سايت استفاده كردم .
    با تشكر

  18. Android می گوید

    دست شما درد نکنه :-*

  19. پرهام می گوید

    به دردم خورد ممنونم!

  20. اکبر قره باغی می گوید

    خیلی خیلی ممنون دوست عزیز

  21. علی می گوید

    سلام یک سوال داشتم می خواستم بدونم چطوری متن داخل اون “برگه ی بعد” رو می شه عوض کرد و چیزی دیگز به جای آن نوشت

  22. علی می گوید

    مطمئنی داداش؟؟ من الان رفتم چیزیش نبود؟
    http://game-world.ir/

    1. آرش حیدری می گوید

      سلام
      بله الان سایت بالا میاد
      خوب الان مشکل چی خستش ؟

      1. علی می گوید

        الان برو ببین نمیتونی بری صفحه 2 یا 3 یا …
        نمیتونی بری تو موضوعات تو هر کدوم که میری دوباره میاد تو صفحه اول چرا؟

      2. آرش حیدری می گوید

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

  23. علی می گوید

    سلام داداش
    من یه سوال داشتم
    من با افزونه پیج نوی صفحه بندی کردم ولی هر کاری میکنم نمیره صفحه های بعدی وقتی میزنم مثلا صفحه 2 همون صفحه اول رو میاره و رو موضوعات هم که میزنم بازم میره صفحه اول میدونی چرا؟:l

    1. آرش حیدری می گوید

      سلام
      من خودم قبلا هم ازون افزونه استفاده می کردم ، ولی بهتون توصیه می کنم تا جایی که امکان داره از افزونه استفاده نکنید.
      راستش مشکل شما رو نمی دونم چون ورژن های آخر افزونه کار نکردم و سایت شما هم ندیدم

      1. علی می گوید

        داداش فعلا رو لوکاله
        نه کد شما هم گذاشتم ولی بازم نمیشه

      2. آرش حیدری می گوید

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

      3. علی می گوید

        داداش ادرس سایتم اینه ببین
        نه میره تو موضوعات نه میره تو صفحات بعدی سایت خواهشا کمکم کن

      4. آرش حیدری می گوید

        سلام
        سایتتون که برای من بالا نماید ، ارور php میده.

ارسال یک پاسخ

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