Hôm nay mình xin được chia sẻ code phần trang cho wordpress không cần plugin.
Đầ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:
Để duy trì blog nên mình có làm aff cho 1 số bên hosting. Nhưng dù aff mình cũng chọn 1 số nhà cung cấp uy tín về chất lượng và support nên các bạn cứ yên tâm nhé.
Nếu có mua hosting mà có trong list dưới đây các bạn click vào link trước khi mua để ủng hộ mình nhé. Mình cảm ơn nhiều
- Azdigi: Giá rẻ thì dùng gói Pro Gold Hosting còn chất lượng hơn thì em khuyên dùng Business Hosting. Có điều kiện thì lên VPS nhé
- Tino hosting
- iNet
- Nước ngoài thì Vultr
<?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!
- Bình luận