انجمن


صفحه بندی مطالب بدون پلاگین  (۱ نوشته)

  • NESTED

    آفلاین
    عضو فعال
    تعداد نوشته‌ها: ۲۳۵۴
    تشکر شده: ۲۳۷۰ بار
    # نوشته شده: ۱۰ سال پیش
    ۷ آبان ۱۳۹۰ - ۱۴:۵۸

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

    [1] 2 3 ... 5 »
    « 1 [2] 3 4 5 »
    « 1 [2] 3 4 5 »
    « 1 ... 3 4 [5]

    برای پیاده سازی این روش، فقط این کد رو به functions.php اضافه کنید:

    function pagination($prev = '«', $next = '»') {
        global $wp_query, $wp_rewrite;
        $wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1;
        $pagination = array(
            'base' => @add_query_arg('paged','%#%'),
            'format' => '',
            'total' => $wp_query->max_num_pages,
            'current' => $current,
            'prev_text' => __($prev),
            'next_text' => __($next),
            'type' => 'plain'
    );
        if( $wp_rewrite->using_permalinks() )
            $pagination['base'] = user_trailingslashit( trailingslashit( remove_query_arg( 's', get_pagenum_link( 1 ) ) ) . 'page/%#%/', 'paged' );
    
        if( !empty($wp_query->query_vars['s']) )
            $pagination['add_args'] = array( 's' => get_query_var( 's' ) );
    
        echo paginate_links( $pagination );
    };

    حالا شما می تونید با استفاده از تابع زیر کلیدهای نمایش صفحه بندی رو در صفحه مورد اضافه کنید. تابع زیر رو در جایی خارج از حلقه اضافه کنید ، اما یادتون باشه باید داخل (have_post ()) قرار بگیره:

    <?php pagination('»', '«'); ?>

    به عنوان نمونه می تونید به طرح زیر توجه کنید :

    <?php if ( have_posts() ) : ?>
        <?php while ( have_posts() ) : the_post(); ?>
            // محتوای پست
        <?php endwhile; ?>
    
        <div class="pagination"><?php pagination('»', '«'); ?></div>
    
    <?php endif; ?>

    در مثال بالا من این تابع رو در یک div قرار دادم تا براحتی بتونید مثل استایل زیر بهش استایل مورد نظر رو بدین :

    .page-numbers { font-size: 15px; }
    .page-numbers.current { color: #222; }
    .page-numbers .dots { letter-spacing: 1px }
    a.page-numbers  { font-size: 14px; color: #3888ff; }
    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    Alikhobeh - aryanz

درباره‌ی این موضوع



برچسب‌ها

هیچ برچسبی نیست.