Hoàng Web

Thiết Kế Website WordPress

  • Kho giao diện
  • Dịch Vụ
    • Tăng tốc độ WordPress
    • Tối ưu website WordPress
    • Thiết kế website WordPress
    • Viết plugin WordPress
    • Sửa lỗi nâng cấp website
  • Bảng giá
  • Quy trình làm việc
  • Giới thiệu
  • Liên Lạc
Trang chủ » Wordpress » Tạo phân trang cho dữ liệu tùy chỉnh

Tạo phân trang cho dữ liệu tùy chỉnh

Thứ Ba, 19/03/2019 by Hoàng Quách

  • shares
  • Facebook
  • Facebook Messenger
  • Gmail
  • Viber
  • Skype

Trong bài trước mình có hướng dẫn chi tiết tạo phân trang trong WordPress. Truy nhiên nếu bạn đang tạo post tùy chỉnh riêng cho nội dung của mình trên website, bạn sẽ cần hiển thị phân trang cho dữ liệu đó. Bài viết này mình sẽ hướng dẫn bạn cách tạo phân trang cho dữ liệu tùy chỉnh (Custom Post Type).

Để truy vấn dữ liệu, chúng ta có WP_Query và gọi hàm wp_reset_postdata() khi kết thúc vòng lặp.

Có một giải pháp đơn giản hơn mà bạn có thể thực hiện bằng cách sử dụng một hook mà WordPress cung cấp.

Tạo phân trang cho Custom Post Type

Chúng ta sẽ sử dụng hook pre_get_posts, để lọc dữ liệu theo ý muốn. Hàm hook này truyền một tham số chứa rất nhiều thông tin về query, nhưng có 2 thông số bạn cần để ý là post_type và posts_per_page.

<?php
use WP_Query;
add_action('pre_get_posts', __NAMESPACE__ . '\\customPostTypePagination');
/**
 * If we're on the 'acme-post-type' page, then adjusts pagination so there are only two posts per page. This will 
 * affect pagination so we can use built-in pagination links to easily page through the content.
 *
 * @param WP_Query the instance of the query object that contains information to populate the template.
 *
 * @return WP_Query an unmodified version of the query object or a modified version if we're on the acme post-type.
 */
function customPostTypePagination(WP_Query $query)
{
  if (isset($query->query['post_type']) && 'acme-post-type' == $query->query['post_type']) {
    $query->set('posts_per_page', 2);
  }
}

Bằng cách giới hạn số lượng posts trên một phân trang với tham số posts_per_page, bạn có thể giảm dung lượng query khi trả về một dữ liệu lớn sẽ làm chậm website.

Để biết cách làm rõ hơn, xem tiếp hướng dẫn tạo phân trang trong WordPress.

Để nhận được bài viết mới vui lòng đăng ký kênh kiến thức WordPress từ A-Z ở Form bên dưới. Bạn cũng có thể nhận được sự trợ giúp trên Twitter và Facebook

  • shares
  • Facebook
  • Facebook Messenger
  • Gmail
  • Viber
  • Skype

Bài viết liên quan:

  1. Viết lại đường dẫn phân trang pagination_links
  2. Cách tạo Shortcode từ A tới Z trong wordpress
  3. Chia sẻ cookie cho subdomain – WordPress
  4. Hướng dẫn tạo Action và filter hooks trong wordpress
  5. Tạo menu trong wordpress
  6. Một số conditional tag hay template tag wordpress cần dùng khi thiết kế giao diện
  7. Hướng dẫn sử dụng wordpress plugin
  8. Chèn file javascript css ở mọi trang trong WordPress
  9. Lấy thông tin user meta fields – WordPress
  10. Creating a Custom Login Form

Chuyên mục: Wordpress Tìm kiếm: phân trang

Đăng ký nhận bài viết mới

Vui lòng điền chính xác email ở bên dưới để nhận thông báo bài viết mới.

Bạn đã đăng ký thành công!

Lỗi! hãy làm lại.

thông tin của bạn được 100% bảo mật...

Comments

  1. Kenbi vlogs says

    Thứ Tư, 20/03/2019 at 3:36 chiều

    Cho minh hỏi huawei nova 3e giá bao nhiêu zay #kenbivlogs

  2. Mạc Tâm Hoàng says

    Thứ Năm, 21/03/2019 at 2:15 sáng

    làm sao ẩn được gmail của mình ạ?

  3. Nguyễn Hải Lâm says

    Thứ Tư, 27/03/2019 at 12:17 chiều

    Bạn ơi, sao khi mình insert thì lại không ra số giống trong clip thì mình phải làm sao??? Giúp mình với.

Tôi giúp gì cho bạn?

Nhận bài viết mới

Vui lòng điền chính xác email ở bên dưới để nhận thông báo bài viết mới.

Cám ơn bạn đã đăng ký.

Lỗi, hãy làm lại

thông tin của bạn được 100% bảo mật...

HOÀNG WEB

Địa chỉ: Tây Sơn, Phường Quang Trung, Quận Đống Đa, Hà Nội

Hotline: 0987 342 124 (8h:00 – 21h:00)

Email: [email protected]

Website: www.hoangweb.com

KẾT NỐI VỚI TÔI

  • Facebook
  • Snapchat

SẢN PHẨM

  • Plugin Auto-Sync Google Shopping cho WooCommerce
  • Phần mềm chặn click ảo
  • WP2Speed.com – Tăng tốc WordPress

LIÊN KẾT

  • Hướng dẫn thanh toán
  • Chính sách hoàn tiền
  • Trung tâm hỗ trợ

Copyright © 2021 | All rights reserved | HOANG WEB
Mọi hình thức sao chép nội dung trên website này mà chưa được sự đồng ý đều là trái phép.