Trong các dự án có ngoài trang template của wordpress chúng ta còn custom page template và trong này chúng ta cần phân trang paginate, sau đây chúng ta cùng tìm hiểu nha
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
if ( ! function_exists( 'custom_pagination' ) ) { function custom_pagination( $pages = '' ) { $paged = 1; if ( get_query_var( 'paged' ) ) { $paged = get_query_var( 'paged' ); } elseif ( get_query_var( 'page' ) ) { // if is static front page $paged = get_query_var( 'page' ); } $prev = $paged - 1; $next = $paged + 1; $range = 3; // only change it to show more links $show_items = ( $range * 2 ) + 1; if ( $pages == '' ) { global $wp_query; $pages = $wp_query->max_num_pages; if ( ! $pages ) { $pages = 1; } } if ( 1 != $pages ) { echo "<div class='pagination'>"; if ( $paged > 2 && $paged > $range + 1 && $show_items < $pages ) { echo "<a href='" . get_pagenum_link( 1 ) . "' class='btn btn-jump arrows_left'> " . esc_html__( 'First' ) . "</a> "; } if ( $paged > 1 && $show_items < $pages ) { echo "<a href='" . get_pagenum_link( $prev ) . "' class='btn btn-jump arrows_left' > " . esc_html__( 'Previous' ) . "</a> "; } for ( $i = 1; $i <= $pages; $i ++ ) { if ( 1 != $pages && ( ! ( $i >= $paged + $range + 1 || $i <= $paged - $range - 1 ) || $pages <= $show_items ) ) { if ( $paged == $i ) { echo "<a href='" . get_pagenum_link( $i ) . "' class='btn current' >" . $i . "</a> "; } else { echo "<a href='" . get_pagenum_link( $i ) . "' class='btn'>" . $i . "</a> "; } } } if ( $paged < $pages && $show_items < $pages ) { echo "<a href='" . get_pagenum_link( $next ) . "' class='btn btn-jump arrows_right' >" . esc_html__( 'Next' ) . "</a> "; } if ( $paged < $pages - 1 && $paged + $range - 1 < $pages && $show_items < $pages ) { echo "<a href='" . get_pagenum_link( $pages ) . "' class='btn btn-jump arrows_right' >" . esc_html__( 'Last' ) . "</a> "; } echo "</div>"; } } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
$posts_per_page = get_option("posts_per_page"); $paged = ( get_query_var( 'paged' ) ) ? absint( get_query_var( 'paged' ) ) : 1; $args = array( 'post_type' => 'post', 'paged' => $paged 'post_status' => 'publish' ); $argsAll = $args; $argsAll['posts_per_page'] = -1; $pages = ceil(count(get_posts($argsAll))/$posts_per_page); $custom_query = new WP_Query( $args ); if ( $custom_query->have_posts() ) : while ( $custom_query->have_posts() ) : $custom_query->the_post(); ?> Hiển thị kết quả truy vấn tại đây <?php endwhile; wp_reset_postdata(); endif; ?> //Hiển thị số trang custom_pagination($pages); |
Mọi sự sao chép xin ghi rõ nguồn là fcwordpress.net
Chuyên trang về wordpress: hướng dẫn thiết kế theme, plugin, thủ thuật wordpress