16 Tháng 11, 2016 Tác giả: Thịnh Nguyễn Chuyên mục: WordPress Themes

Cách tạo phân trang pagination bằng plugins WP-PageNavi trong WordPress

phan-trang-page

Như ở bài trước Thịnh có chia sẻ cách tạo phân trang paination nhưng nó không phải ở dạng số mà ở dạng text không sử dụng plugins, nhưng ở bài này Thịnh chia sẻ với các bạn cách tạo phân trang trong wordpress hiển thị dạng số. Cách hiển thị dạng số này bắt buộc bạn cần phải sử dụng plugins WP-PageNavi.

Với plugins WP-PageNavi khá là quen thuộc đối với cộng đồng lập trình viên trên nền tảng wordpress bởi tính tiện dụng của nó cũng như bạn có thể điều chỉnh thông số phân trang tùy theo ý thích của các bạn. Nhưng không phải bạn cài plugin WP-PageNavi xong là được mà bạn cần phải thích hợp vào theme website sử dụng mã nguồn mở wordpress thì bạn mới sử dụng được.

Nếu như bạn chưa thích hợp vào thì hãy làm theo cách làm sau đây.

Bước 1: Bạn cần cài đặt plugin WP-PageNavi trong phần “gói mở rộng” và sau đó kích hoạt nó.

WP-PageNavi
WP-PageNavi
Developer: Lester Chan
Price: Free

Bước 2: Bạn tiến hành khai báo function thinhweb_pagination hoặc tên bạn muốn với thông số như sau.


// Ham tao phan trang

if (!function_exists( 'thinhweb_pagination' )){

    function thinhweb_pagination(){

        if ( $GLOBALS['wp_query']->max_num_pages <2 ){ return ''; }?>

            <?php if ( function_exists('wp_pagenavi') ): ?>

            <?php wp_pagenavi(); ?> // phan hien thi theo plugins wp-pagenavi

            <?php else: ?>
                <nav class="pagination" role="navigation">

                    <?php if ( get_next_posts_link() ) : ?>

                        <div><?php next_posts_link( __('Older Posts', 'thinhweb') ); ?></div>

                    <?php endif; ?>

                    <?php if ( get_previous_posts_link() ) :?>

                        <div><?php previous_posts_link(__('Newest Posts', 'thinhweb') ); ?></div>

                    <?php endif; ?>

                </nav>

             <?php endif; ?>

       <?php }
}

Ý nghĩa đoạn code trên như sau:

  • Khai báo function: thinhweb_pagination.
  • Kiểm tra nếu $GLOBALS[‘wp_query’] mà được gán bằng với max_num_pages và nhỏ hơn 2 thì nó sẽ quay (return) trở lại không thực thi lệnh tiếp theo.
  • Nếu nó mà bằng hoặc lớn hơn 2 thì bắt đầu thực hiện lệnh phía dưới.
  • Tiếp theo nó điều kiện lấy wp_pagenavi theo thông số của plugins WP-PageNavi để hiển thị. Nếu như nó không tồn tại thì nó sẽ quay về dạng phân trang dạng text như ở bài trước.
  • thinhweb sẽ là phần khai báo textdomain trong file style.css.

Để hiển thị ngoài site thì nó cũng tương tự như ở bài trước:


<?php if ( have_posts() ) : while( have_posts() ) : the_post(); ?>

// code gọi nộ dùng của vòng lặp while

<?php endwhile ?>

<?php thinhweb_pagination(); ?>

Như vậy là xong, cách làm cũng tương tự như cách tạo phân trang không sử dụng page. Đặc điểm của việc sử dụng plugins là bạn có được phân trang dạng số đẹp hơn và thuận tiện hơn cho con bọ tìm kiếm. Cách khai báo thì bạn chỉ thêm điều kiện vào phần tạo phân trang không sử dụng plugin để nó có điều kiện nếu tồn tại wp-pagenavi thì hiển thị, nếu không có thì hiển thị lệnh tiếp theo và kết thúc quá trình lặp.

Tác giả: Thịnh Nguyễn

Chuyên gia chia sẻ kiến thức về lập trình, thiết kế web và tối ưu hệ thống server.

Chia sẻ bài viết này:

3 bình luận

  • Phát

    29/08/2023 lúc 15:45

    xin chào,
    mình không thể nào cho hiển thị ra được, nhờ bạn giúp đỡ. mình cần hiển thị phân trang cho ds sản phẩm

  • sadfgsdfg

    19/12/2017 lúc 06:12

    Để hiển thị ngoài site thì nó cũng tương tự như ở bài trước:

    bài trước là bài đéo nào vậy :))

    • Thịnh Nguyễn

      22/12/2017 lúc 12:02

      Bài trước là bài mình đã đính kèm link vào đọa text màu xanh đó bạn

Để lại bình luận của bạn

Địa chỉ email của bạn sẽ không được công bố rộng rãi. Các trường bắt buộc được đánh dấu *

Bài viết liên quan

Hướng dẫn cố định menu khi kéo kéo thanh scroll xuống dưới

Xin chào tất cả các bạn, trong quá trình support anh em web develop trên facebook thì anh em đều gặp phải trường hợp là muốn cố định menu như website tuoitre.vn nhưng lại không làm thế nào thì hôm nay Thịnh chia sẻ với anh em cách cố định menu khi thực hiện kéo […]

Xem chi tiết →

Hướng dẫn tạo phân trang pagination trong WordPress

Phân trang cho một website là điều khá là quan trọng, bởi khi số lượng bài hiển thị vượt quá giới hạn cho phép theo cấu hình “Đọc” trong trang quản trị của website thì bạn cần phải phân trang cho website để người truy cập có thể sang các trang tiếp theo để coi […]

Xem chi tiết →

Lỗi website không responsive trên các thiết bị có màn hình bé

Hiện tượng khi bạn truy cập vào website mà website lại không tùy biến responsive như lúc thiết kế hay lên giao diện. Đơn giản chỉ vì chúng ta thiếu một thẻ meta dùng để xác định xem site có tùy biến thích ứng với màn hình hay không. Ví dụ như blog của mình […]

Xem chi tiết →