[2 TIPs] Cách phân trang trong WordPress đơn giản nhất
08/02/2020 08:00 | Luợt xem : 27
Có nhiều bạn chưa thực sự hài lòng với cách phân trang của các hàm có sẵn trong WordPress. Trong bài viết này, BKNS sẽ hướng dẫn bạn phân trang trong WordPress sử dụng Plugin và không sử dụng Plugin. Tham khảo ngay nhé!
1. Hướng dẫn phân trang trong WordPress sử dụng Plugin
Đối với những người không sành về Code thì việc sử dụng plugin phân trang cho wordpress Plugin WP-PageNavi là cách an toàn và đơn giản nên áp dụng. Các bước tiến hành như sau:
Bước 1: Tải Plugin WP-PageNavi
Bước 2: Giải nén vào thư mục Plugins và kích hoạt
Bước 3: Cấu hình Plugin để thay đổi một số hiển thị bằng cách vào Settings => chọn PageNavi
Bước 4: Lưu lại thay đổi
Bước 5: Xuất hiện dòng phân trang trong Theme Twentyten. Hai dòng này có tác dụng Next và Preview bài viết
<div class="nav-previous"><?php next_posts_link( __( '<span class="meta-nav">←</span> Older posts', 'twentyten' ) ); ?></div>
Và:
<div class="nav-next"><?php previous_posts_link( __( 'Newer posts <span class="meta-nav">→</span>', 'twentyten' ) ); ?></div>
Bước 6: Thay 2 dòng đó bằng 1 dòng đơn giản và hoàn thành phân trang WordPress sử dụng Plugin:
<?php wp_pagenavi(); ?>
2. Hướng dẫn phân trang trong WordPress không sử dụng Plugin
Sử dụng Plugin WP-PageNavi để đánh số trang trong wordpress được khá nhiều bạn áp dụng. Tuy nhiên, có nhiều bạn không thích cài quá nhiều Plugin cho một website WordPress. Sau đây, BKNS sẽ hướng dẫn bạn cách phân trang cho category/post wordpress không sử dụng Plugin. Các bước thực hiện như sau:
Bước 1: Kiểm tra Theme đang dùng có file functions.php hay không? Nếu không có file này, hãy tạo thêm file functions.php trong thư mục Theme đang sử dụng
Bước 2: Thêm đoạn Code sau vào file vừa tạo:
function page_nav() { if( is_singular() ) return; global $wp_query; /** Stop execution if there's only 1 page */ if( $wp_query->max_num_pages <= 1 ) return; $paged = get_query_var( 'paged' ) ? absint( get_query_var( 'paged' ) ) : 1; $max = intval( $wp_query->max_num_pages ); /** Add current page to the array */ if ( $paged >= 1 ) $links[] = $paged; /** Add the pages around the current page to the array */ if ( $paged >= 3 ) { $links[] = $paged - 1; $links[] = $paged - 2; } if ( ( $paged + 2 ) <= $max ) { $links[] = $paged + 2; $links[] = $paged + 1; } echo '<div class="navigation"><ul>' . "\n"; /** Previous Post Link */ if ( get_previous_posts_link() ) printf( '<li>%s</li>' . "\n", get_previous_posts_link() ); /** Link to first page, plus ellipses if necessary */ if ( ! in_array( 1, $links ) ) { $class = 1 == $paged ? ' class="active"' : ''; printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( 1 ) ), '1' ); if ( ! in_array( 2, $links ) ) echo '<li>…</li>'; } /** Link to current page, plus 2 pages in either direction if necessary */ sort( $links ); foreach ( (array) $links as $link ) { $class = $paged == $link ? ' class="active"' : ''; printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( $link ) ), $link ); } /** Link to last page, plus ellipses if necessary */ if ( ! in_array( $max, $links ) ) { if ( ! in_array( $max - 1, $links ) ) echo '<li>…</li>' . "\n"; $class = $paged == $max ? ' class="active"' : ''; printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( $max ) ), $max ); } /** Next Post Link */ if ( get_next_posts_link() ) printf( '<li>%s</li>' . "\n", get_next_posts_link() ); echo '</ul></div>' . "\n"; } Bước 3: Thêm giao diện cho Pagination: .navigation li a, .navigation li a:hover, .navigation li.active a, .navigation li.disabled { color: #fff; text-decoration:none; } .navigation li { display: inline; } .navigation li a, .navigation li a:hover, .navigation li.active a, .navigation li.disabled { background-color: #6FB7E9; border-radius: 3px; cursor: pointer; padding: 12px; padding: 0.75rem; } .navigation li a:hover, .navigation li.active a { background-color: #3C8DC5; }
Lưu ý: Có thể thay đổi các giá trị khác sao cho phù hợp nhất với website của bạn
Bước 4: Thêm đoạn Code sau để hiển thị Pagination ra ngoài:
<?php page_nav(); ?>
Bước 5: Hoàn thành phân trang WordPress mà không cần dùng Plugin
Trên đây, BKNS đã hướng dẫn bạn cách phân trang trong WordPress sử dụng Plugin và không sử dụng Plugin. Hy vọng, những thông tin mà BKNS cung cấp hữu ích với bạn. Nếu đã thực hiện nhưng chưa thành công, hãy để lại ngay comment bên dưới bài viết để BKNS kịp thời giải đáp. Đừng quên truy cập bkns.vn thường xuyên để cập nhật thêm nhiều bài viết hữu ích khác nhé!
> >Tìm hiểu thêm: