إذا كنت تريد اضافة الترقيم فى الصفحة الرئيسية او صفحة التصنيف او الارشيف بدون اضافة فى قالبك، وذلك من خلال استعمال دالة الوورد بريس paginate_links فهى افضل من ان تقوم باستخدام اضافة وتخفيف الحمل على السيرفر بالطبع هناك اضافة شهيرة لاضافة الترقيم فى الوورد بريس وهى wp-pagenavi.

دالة Paginate_links

البارامترات الخاصة بهذه الدالة هى ويمكنك الاطلاع على شرح هذه الداله Paginate_links

$args = array(
    'base'         => '%_%',
    'format'       => '?page=%#%',
    'total'        => 1,
    'current'      => 0,
    'show_all'     => False,
    'end_size'     => 1,
    'mid_size'     => 2,
    'prev_next'    => True,
    'prev_text'    => __('« Previous'),
    'next_text'    => __('Next »'),
    'type'         => 'plain',
    'add_args'     => False,
    'add_fragment' => '',
    'before_page_number' => '',
    'after_page_number' => ''
);

أهم البارمترات لدالة paginate_link

  • type القيمة الافتراضية هى plain ،تعنى طريقة عرض الترقيم ويفضل ان تكون list اى بين وسوم li ويمكنك الاختيار بين ثلاثة قيم (list, plain, array)
  • mid_size القيمة الافتراضية هو 1، تعنى عدد الارقام التى سوف تظهر بعد او قبل الصفحة الحالية بمعنى لو ان المستخدم يقف عند الصفحة رقم 2 فسوف تجد مربع رقم 3 بعدها ولا يظهر مربع رقم 4 لان القيمة الافتراضية لهذا البارمتر 1 لذلك اذا اردت ظهور رقم الصفحة 3 و 4 عليك بتغير هذه القيمة الى 2. شاهد الصورة فى الاسفل
  • end_size القيمة الافتراضية 1، تعنى عدد الارقام التى سوف تظهر فى بداية ونهاية الترقيم. برجاء مشاهدة الصورة التوضيحية.

يمكنك استخدام وضع كود الابحار ( الترقيم ) بعد كلمة endwhile فى صفحة الارشيف او التصنيف او الرئيسية والبحث والوسوم وذلك حسب خصائص كل قالب وطريقة عرضها للمحتوى ففى قالب twentyfourteen تم وضعها داخل صفحة index كالتالى وقام مصمم القالب بعمل دالة مخصوص لترقيم الصفحات باسم twentyfourteen_paging_nav() .


دالة twentyfourteen_paging_nav الموجودة فى قالب twentyfourteen  هى

function twentyfourteen_paging_nav() {
    global $wp_query, $wp_rewrite;

    // Don't print empty markup if there's only one page.
    if ( $wp_query->max_num_pages < 2 ) {
        return;
    }

    $paged        = get_query_var( 'paged' ) ? intval( get_query_var( 'paged' ) ) : 1;
    $pagenum_link = html_entity_decode( get_pagenum_link() );
    $query_args   = array();
    $url_parts    = explode( '?', $pagenum_link );

    if ( isset( $url_parts[1] ) ) {
        wp_parse_str( $url_parts[1], $query_args );
    }

    $pagenum_link = remove_query_arg( array_keys( $query_args ), $pagenum_link );
    $pagenum_link = trailingslashit( $pagenum_link ) . '%_%';

    $format  = $wp_rewrite->using_index_permalinks() && ! strpos( $pagenum_link, 'index.php' ) ? 'index.php/' : '';
    $format .= $wp_rewrite->using_permalinks() ? user_trailingslashit( $wp_rewrite->pagination_base . '/%#%', 'paged' ) : '?paged=%#%';

    // Set up paginated links.
    $links = paginate_links( array(
        'base'     => $pagenum_link,
        'format'   => $format,
        'total'    => $wp_query->max_num_pages,
        'current'  => $paged,
        'mid_size' => 1,
        'end_size' => 2,
        'add_args' => array_map( 'urlencode', $query_args ),
        'prev_text' => __( '← Previous', 'twentyfourteen' ),
        'next_text' => __( 'Next →', 'twentyfourteen' ),
        'show_all'     => False,
    ) );

    if ( $links ) :

    ?>