با عرض سلام خدمت کاربران محترم سایت پی وی لرن.
با جلسه ای دیگر از سری جلسات دوره جامع آموزش ساخت قالب وردپرس در خدمت شما هستیم.
در این جلسه میخواهیم صفحه بندی مطالب وردپرس (Pagination) را آموزش دهیم.
صفحه بندی این امکان را در اختیار کاربر میگذارد تا از طریق صفحه یا پست جاری، به صفحات یا پست های قبلی و بعدی برود.
همچنین میتوان لیست بزرگی از محتوا (پست ها) را به صفحات کوچکتر و جداگانه تقسیم کرد.
وردپرس در مواقع زیر از صفحه بندی استفاده میکند:
بیشترین استفاده صفحه بندی، تقسیم لیستی از پست ها به صفحات جداگانه است.
هنگامی که شما در حال مشاهده یک دسته، آرشیو و یا هر نوع لیستی دیگری هستید، وردپرس به صورت پیشفرض حداکثر ۱۰ پست را در هر صفحه نمایش میدهد.
کاربران میتوانند این مقدار را در Admin > Setting > Reading تغییر دهند.
مثال زیر به سادگی به شما نشان میدهد تا چگونه از توابع صفحه بندی همراه با حلقه استفاده کنید.
توابع را درست قبل و بعد از حلقه قرار دهید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <?php if ( have_posts() ) : ?> <!-- Add the pagination functions here. --> <!-- Start of the main loop. --> <?php while ( have_posts() ) : the_post(); ?> <!-- the rest of your theme's main loop --> <?php endwhile; ?> <!-- End of the main loop --> <!-- Add the pagination functions here. --> <div class="nav-previous alignleft"><?php next_posts_link( 'Older posts' ); ?></div> <div class="nav-next alignright"><?php previous_posts_link( 'Newer posts' ); ?></div> <?php else : ?> <?php _e('Sorry, no posts matched your criteria.'); ?> <?php endif; ?> |
وردپرس برای نمایش لینک ها به صفحات دیگر در حلقه شما، توابع مختلفی دارد.
بعضی از این توابع فقط در زمینه های مختلفی استفاده میشوند.
تابعی که شما در یک صفحه تک پست استفاده میکنید، از تابعی که در یک صفحه آرشیو استفاده میکنید متفاوت است.
نکته: هنگامی که از توایع صفحه بندی همراه با حلقه در خارج از فایل های قالب استفاده میکنید، باید متغیر سراسری wp_query$ را فراخوانی کنید.
1 2 3 4 | function your_themes_pagination(){ global $wp_query; echo paginate_links(); } |
یکی از ساده ترین توابع، تابع ()posts_nav_link است.
این تابع در یک فایل قالب و بعد از حلقه قرار میگیرد.
این تابع هر دو لینک صفحات بعدی و صفحات قبلی را در جایی مناسب تولید میکند.
این تابع برای قالب هایی که نیاز به یک صفحه بندی ساده دارند، بسیار مناسب است.
1 | posts_nav_link(); |
برای کنترل اینکه لینک های صفحه پست های بعد و قبل در کجا ظاهر شوند، از توابع ()next_post_link و ()prev_post_link استفاده کنید.
1 2 | next_posts_link(); previous_posts_link(); |
اگر قصد دارید تا لینک های صفحه بندی را در متغیر های PHP قرار دهید، از توابع ()get_next_posts_link و ()get_previous_posts_link استفاده کنید.
1 2 | $next_posts = get_next_posts_link(); $prev_posts = get_previous_posts_link(); |
اگر تعداد صفحات محتوای شما بسیار زیاد است، بهتر است تا علاوه بر لینک های پستت های قبلی و بعدی، از اعداد نیز برای لینک به صفحات استفاده کنید.
این کار کاربر را سریع تر به صفحه مورد نظر رسانده و از کلیک پیاپی لینک پست های بعدی یا قبلی جلوگیری میشود.
تابع ()the_posts_pagination مجموعه ای از اعداد را نمایش میدهد که به صفحات پست ها لینک میشود.
تمام توابع قبلی باید روی صفحات ایندکس یا آرشیو استفاده شوند. در تک پست ها باید از توابع ()next_post_link و ()previous_post_link استفاده کنید.
تگ <–nexpage–!> برای فعال کردن صفحه بندی داخل یک پست، میتوانید در محتوای آن پست قرار گیرد.
1 | <!--nextpage--> |
اگر از این تگ در محتوا پست خود استفاده میکنید، مطمئن شوید که تابع ()wp_link_pages در فایل single.php و در داخل یک حلقه قرار دارد.
1 2 3 4 5 6 7 8 9 10 11 12 | <?php if ( have_posts() ) : ?> <!-- Start of the main loop. --> <?php while ( have_posts() ) : the_post(); ?> <?php the_content(); ?> <?php wp_link_pages(); ?> <?php endwhile; ?> <?php endif; ?> |
جلسه آموزش صفحه بندی مطالب وردپرس نیز به پایان رسید.
در جلسه بعد به آموزش کار با فایل صوتی در وردپرس خواهیم پرداخت.