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

انواع مختلف صفحه‌بندی محتوای سایت
انواع مختلف صفحه‌بندی محتوای سایت

صفحه بندی وردپرس (Pagination) چیست؟

صفحه بندی در وردپرس، ویژگی است که محتوای سایت (نظیر نوشته‌ها، برگه‌ها، محصولات و…) را به برگه‌های جداگانه تقسیم می‌کند. بازدیدکنندگان می‌توانند با استفاده از دکمه‌های جدیدتر یا قدیمی‌تر برای پیمایش بین برگه‌ها استفاده کنند. برخی از صفحه‌بندی‌ها دارای شماره بوده که کاربران می‌توانند با کلیک بر روی شماره برگه مورد نظر، به آن هدایت شوند.

ما در این مقاله قصد داریم تا شما را با نحوه ایجاد صفحه‌بندی در وردپرس به دو روش آشنا کنیم.

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

آموزش ایجاد صفحه‌بندی در وردپرس

برای آنکه محتوای سایت شما صفحه‌بندی شود و کاربر بتواند صفحه به صفحه (برگه به برگه) محتواها را مرور کند، شما می‌بایست در پیشخوان و در بخش “تنظیمات » خواندن”، مقدار “بیشترین تعداد نوشته‌ها در هر برگه وبلاگ” را تعیین کرده باشید.

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

نمایش بازدید نوشته‌ها در وردپرس
تنظیمات نمایش تعداد نوشته‌ها در برگه بلاگ
تنظیمات نمایش تعداد نوشته‌ها در برگه بلاگ

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

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

۱- WP-PageNavi

صفحه‌بندی وردپرس با قابلیت سفارشی‌سازی با افزونه WP-PageNavi
صفحه‌بندی وردپرس با قابلیت سفارشی‌سازی با افزونه WP-PageNavi

افزونه WP-PageNavi محبوب‌ترین و پرکاربردترین افزونه صفحه‌بندی وردپرس است. این افزونه، پیوندهای “نوشته‌های قدیمی‌تر” و “نوشته‌های جدیدتر” را با پیمایش زیبا و شماره گذاری شده جایگزین می‌کند.

استفاده از این افزونه بسیار آسان است. هنگامی که آن را فعال کنید، می‌توانید با مراجعه به بخش تنظیمات > PageNavi این افزونه را مطابق با نیازهای وب‌سایت خود سفارشی‌سازی نمایید.

۲- WP-Paginate

ایجاد صفحه‌بندی وردپرس به صورت سفارشی با افزونه WP-Paginate
ایجاد صفحه‌بندی وردپرس به صورت سفارشی با افزونه WP-Paginate

یکی دیگر از افزونه‌های برتر صفحه‌بندی وردپرس، افزونه WP-Paginate می‌باشد. این افزونه منبع باز، چندین سبک صفحه‌بندی و انتخاب رنگ را به همراه توانایی افزودن CSS سفارشی برای پیوندهای صفحه‌بندی از طریق تنظیمات فراهم می‌کند.

این افزونه از نسخه ۱.۱ به بعد، صفحه‌بندی دیدگاه‌ها را نیز پشتیبانی می‌کند و دیدگاه‌های هر نوشته را می‌توان با استفاده از آن صفحه‌بندی نمود.

۳- Pagination by BestWebSoft

ایجاد صفحه‌بندی وردپرس به صورت سفارشی با افزونه Pagination
ایجاد صفحه‌بندی وردپرس به صورت سفارشی با افزونه Pagination by BestWebSoft

افزونه Pagination by BestWebSoft، افزونه‌ای ساده و کارآمد برای ایجاد صفحه‌بندی در وردپرس می‌باشد. این افزونه به شما این امکان را می‌دهد تا به صورت خودکار بتوانید صفحه‌بندی را به صفحه اصلی، وبلاگ، بایگانی یا نتایج جستجوی خود اضافه کرده و یا حتی مکان نمایش آن را تغییر دهید. همچنین با استفاده از این افزونه می‌توانید ظاهر سفارشی بر روی صفحه‌بندی اعمال کنید.

این افزونه در دو نسخه رایگان و پولی ارائه می‌شود و برای استفاده از تمامی امکانات افزونه می‌بایست نسخه ویژه آن را خریداری نمایید.

ایجاد صفحه‌بندی در وردپرس با برنامه‌نویسی

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

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

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

/**
 * @snippet       Tida Pagination: Buttons & Numeric Pagination For WordPress
 * @author        Rasool Vahdati
 * @testedwith    WordPress
 */

function tida_pagination($query = null, $paginated = 'numeric')
{
    if ($query == null) {
        global $wp_query;
        $query = $wp_query;
    }
    $page  = $query->query_vars['paged'];
    $pages = $query->max_num_pages;
    $paged = get_query_var('paged') ? get_query_var('paged') : ( get_query_var('page') ? get_query_var('page') : 1 );
    if ($page == 0) {
        $page = 1;
    }
    $output = '';
    if ($pages > 1) {
        if ($paginated == 'buttons') {
            $output .= '<nav class="vl-pagination-buttons">';
            if ($page + 1 <= $pages) {
                $output .= '<a class="prev-page" href="' . get_pagenum_link($page + 1) . '">«<span>' . esc_html__('Previous Page', 'pixi') . '</span></a>';
            } else {
                $output .= '<span class="prev-page inactive">«<span>' . esc_html__('Previous Page', 'pixi') . '</span></span>';
            }
            if ($page - 1 >= 1) {
                $output .= '<a class="next-page" href="' . get_pagenum_link($page - 1) . '"><span>' . esc_html__('Next Page', 'pixi') . '</span>»</a>';
            } else {
                $output .= '<span class="next-page inactive"><span>' . esc_html__('Next Page', 'pixi') . '</span>»</span>';
            }
            $output .= '</nav>';
        }
        if ($paginated == 'numeric') {
            $numeric_links = paginate_links(array(
                'add_args' => '',
                'current' => $paged,
                'total' => $pages,
                'prev_text' => '«',
                'next_text' => '»'
            ));
            $output .= '<div class="row"><nav class="td-pagination td-pagination-numeric">';
            $output .= $numeric_links;
            $output .= '</nav></div>';
        }
    }
    return apply_filters('tida_pagination', $output);
}

تابع بالا دو آرگومان به عنوان پارامتر ورودی دریافت می‌کند و خروجی آن پیوندهای صفحه‌بندی شده می‌باشد. آرگومان اول کوئری و آرگومان دوم نوع صفحه‌بندی می‌باشد.

اگر این تابع در حلقه عمومی استفاده شود، می‌بایست مقدار اول برابر null ارسال شده و در صورتی که این تابع در کوئری اختصاصی قرار است فراخوانی شود، بهتر است مقدار اول برابر query$ اختصاصی باشد.

کپی کردن نوشته و برگه در وردپرس

در صورتی که بخواهید نمایش صفحه‌بندی فقط شامل مقادیر “نوشته‌های قبلی” و “نوشته‌های بعدی” باشند، آرگومان دوم را برابر “buttons” قرار دهید. همچنین در صورتی که نیاز است تا نمایش صفحه‌بندی به صورت شماره صفحات به همراه لینک قبل و بعد باشد، کافی است مقدار آرگومان دوم را برابر “numeric” قرار دهید.

tida_pagination( $query , 'buttons' ); // show text pages link (previous & next) in pagination
tida_pagination( $query, 'numeric' ); // show numeric pages with previous & next links in pagination

نتیجه‌گیری

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

سؤالات متداول

ایجاد صفحه‌بندی وردپرس با افزونه بهتر است یا کدنویسی؟

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

افزونه‌های صفحه بندی وردپرس رایگان هستند؟

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

چگونه می‌توان متن پیوندهای بعدی و قبلی را در حالت شمارنده در بخش برنامه نویسی تغییر داد؟

این کار به آسانی قابل انجام است. فقط باید مقادیر prev_text و next_text را به متن یا آیکون دلخواه خود تغییر دهید.

۴.۸/۵ - (۶۵ امتیاز)

1 thoughts on “صفحه بندی در وردپرس

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *