Code phân trang không cần plugin cho wordpress

Cập nhật lần cuối 03/08/2017 by trong WordPress vào 13/10/2013 có 1161 Views

Hôm nay mình xin được chia sẻ code phần trang cho wordpress không cần plugin.

Code phân trang

Code phân trang

Đầu tiên các bạn cho đoạn code này vào file functions.php:

//Code phan trang
function devvn_wp_corenavi($custom_query = null, $paged = null) {
    global $wp_query;
    if($custom_query) $main_query = $custom_query;
    else $main_query = $wp_query;
    $paged = ($paged) ? $paged : get_query_var('paged');
    $big = 999999999;
    $total = isset($main_query->max_num_pages)?$main_query->max_num_pages:'';
    if($total > 1) echo '<div class="pagenavi">';
    echo paginate_links( array(
        'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
        'format' => '?paged=%#%',
        'current' => max( 1, $paged ),
        'total' => $total,
        'mid_size' => '10', // Số trang hiển thị khi có nhiều trang trước khi hiển thị ...
        'prev_text'    => __('Prev','devvn'),
        'next_text'    => __('Next','devvn'),
    ) );
    if($total > 1) echo '</div>';
}

Rồi sau đó các bạn cho đoạn code này vào chỗ bạn muốn hiển thị phân trang:

<?php if (function_exists('devvn_wp_corenavi')) devvn_wp_corenavi(); ?>

Chú ý: Nếu muốn phân trang tại custom wp_query thì chúng ta chèn code phân trang như sau:

$news = new WP_Query($args);
if($news->have_posts()):
    while ($news->have_posts()):$news->the_post();
        //nội dùng hiển thị
    endwhile;
    //code phân trang
    if (function_exists('devvn_wp_corenavi')) devvn_wp_corenavi($news);
endif; wp_reset_query();

Cuối cùng các bạn dùng css để định dạng nó theo ý mình thôi.

Còn mình cho css như hình trên. Các bạn có thể tham khảo:


/*------------------------------------------------*/

/*----------------[SinhVienLife]----------------*/

/*------------------------------------------------*/

.pagenavi{

margin: 20px 0 20px 0;

}

.pagenavi span,.pagenavi a{color: #4d4d4d;padding:3px;margin-right:5px;background:transparent;border:1px solid #757575}

.pagenavi a:hover,.pagenavi .current{background:transparent;color:#4d4d4d;text-decoration:none}

.pagenavi .page-numbers,.pagenavi .current{color: #4d4d4d;font-weight:bold}

.pagenavi .current{color: red;}

.pagenavi .page-numbers{border:1px solid #DDD;padding: 8px; border-radius: 8px;}

Xem thêm: http://codex.wordpress.org/Function_Reference/paginate_links

Chúc các bạn thành công!

 

Code phân trang không cần plugin cho wordpress
5 (100%) 1 vote
  • Bình luận
Có thể bạn quan tâm
x