Là Nhà phát triển WordPress, bạn có thể tự hỏi mình “Làm cách nào để hiển thị danh sách các bài đăng từ một loại bài đăng tùy chỉnh trên trang chủ của tôi?” . Hoặc có lẽ bạn muốn trình bày nhiều loại nội dung động với các trường tùy chỉnh, hình ảnh, v.v. Lớp WP_Query mạnh mẽ giúp việc tìm nạp và xuất các bài đăng trên trang web của bạn trở nên dễ dàng và chúng tôi sắp chỉ cho bạn cách thực hiện
WP_Query là một lớp được sử dụng trong chủ đề WordPress chấp nhận nhiều tham số khác nhau để yêu cầu và tìm nạp các bài đăng xung quanh các tham số đó. Ví dụ dưới đây cho phép bạn thiết lập một danh sách các tham số, tìm nạp các bài đăng phù hợp với các tham số đó và hiển thị tiêu đề và đoạn trích của bài đăng trên trang web. Hãy cùng xem ví dụ bên dưới bằng các bước sau
- Thiết lập một biến chứa một mảng tham số mà bạn sẽ chuyển đến lớp WP_Query. Bạn sẽ muốn đặt tham số 'post_type' thành sên của loại bài đăng tùy chỉnh mà chúng tôi muốn truy vấn. Rất có thể, đây là loại bài đăng tùy chỉnh mà bạn đã tạo. Nếu bạn chưa tạo loại bài đăng tùy chỉnh, hãy xem cách tạo loại bài đăng tùy chỉnh trong WordPress
- Đặt tham số 'post_status' thành 'published' để đảm bảo các bài đăng được yêu cầu được xuất bản và không ở trạng thái 'bản nháp'. Nếu bạn muốn nhận các bài đăng chưa được xuất bản, bạn có thể dễ dàng đặt mục này thành 'bản nháp' hoặc bất kỳ mục nào khác
- Đặt số lượng bài đăng bạn muốn tìm nạp và trả lại bằng tham số 'posts_per_page'
- Các tham số cuối cùng bạn muốn thêm là 'orderby' và 'order'. Tham số đầu tiên 'orderby' sắp xếp các bài đăng theo tiêu đề, tham số thứ hai 'order' sắp xếp tất cả các bài đăng tăng dần theo tiêu đề hoặc tham số 'orderby'. Sau khi bạn thiết lập xong các tham số, hãy chuyển chúng vào lớp WP_Query và đặt kết quả thành một biến. Sau đó, truy cập vòng lặp while cổ điển của WordPress để duyệt qua các bài đăng kết quả và hiển thị tiêu đề cũng như đoạn trích bằng cách sử dụng các thẻ mẫu, the_title[] và the_excerpt[]
Bạn không có thời gian để tìm hiểu thông tin chi tiết về WordPress WP_Query?
Ví dụ về loại bài đăng tùy chỉnh WP_Query
Ví dụ đầu tiên
/** * Setup query to show the ‘services’ post type with ‘8’ posts. * Output the title with an excerpt. */ $args = array[ 'post_type' => 'services', 'post_status' => 'publish', 'posts_per_page' => 8, 'orderby’ => 'title', 'order’ => 'ASC', ]; $loop = new WP_Query[ $args ]; while [ $loop->have_posts[] ] : $loop->the_post[]; print the_title[]; the_excerpt[]; endwhile; wp_reset_postdata[];
Đầu ra
Nếu bạn chạy truy vấn này trong mẫu WordPress của mình, đầu ra có thể trông như sau
Article Title Example excerpt of the article. Read More
Một ví dụ nâng cao hơn
Nếu bạn xem ví dụ tiếp theo của chúng tôi, bạn sẽ thấy nó nâng cao hơn một chút. Chúng tôi đã thêm tham số danh mục để lọc các bài đăng có danh mục 'nhà'. Ở đầu ra, bạn sẽ thấy chúng tôi cũng đã thêm vào vòng lặp của mình để lấy hình ảnh nổi bật được đính kèm với bài đăng và hiển thị hình ảnh đó cùng với tiêu đề và đoạn trích. Ví dụ nâng cao hơn này là để cho bạn thấy sức mạnh của WP_Query như thế nào
/** * Setup query to show the ‘services’ post type with all posts filtered by 'home' category. * Output is linked title with featured image and excerpt. */ $args = array[ 'post_type' => 'services', 'post_status' => 'publish', 'posts_per_page' => -1, 'orderby' => 'title', 'order' => 'ASC', 'cat' => 'home', ]; $loop = new WP_Query[ $args ]; while [ $loop->have_posts[] ] : $loop->the_post[]; $featured_img = wp_get_attachment_image_src[ $post->ID ]; print the_title[]; if [ $feature_img ] { < img src="print $featured_img['url']" width=”print $featured_img['width']" height="print $featured_img['height']" /> } the_excerpt[]; endwhile; wp_reset_postdata[];
Thông số
Có nhiều tham số bạn có thể sử dụng để tùy chỉnh các bài đăng được yêu cầu với WP_Query. Chúng tôi đề cập đến một số tham số thường được sử dụng bên dưới nhưng để có danh sách kỹ lưỡng hơn, hãy xem tham chiếu lớp
- mèo - lọc các bài đăng theo id danh mục cụ thể
- tag - lọc các bài đăng theo một tag slug cụ thể
- tax_query - lọc các bài đăng theo tham số phân loại cụ thể
- s - lọc bài đăng theo từ khóa tìm kiếm
- Tác giả - lọc bài viết của một tác giả cụ thể
Thẻ mẫu
Trong vòng lặp loại bài đăng tùy chỉnh của bạn, có nhiều Thẻ mẫu bạn có thể sử dụng bên trong vòng lặp để xuất thông tin động. Một số ví dụ về các thẻ mẫu khác mà bạn có thể sử dụng bên trong vòng lặp của mình
- the_content[] - Hiển thị nội dung của bài đăng
- the_permalink[] - Hiển thị URL của bài đăng
- get_the_ID[] - Lấy ID của bài đăng
- home_url[] - Truy xuất URL trang chủ
Bây giờ bạn đã hiểu kiến thức cơ bản về WP_Query và yêu cầu cũng như tìm nạp loại bài đăng tùy chỉnh của mình, bạn có thể sử dụng những gì bạn đã học để phát triển các mẫu loại bài đăng tùy chỉnh của riêng mình với một loạt các tham số và thẻ mẫu khác nhau để dễ dàng hiển thị các bài đăng tùy chỉnh của bạn cho khách truy cập
Chuyên gia wordpress
Bạn có gặp khó khăn khi cố gắng tự xây dựng trang web WordPress của mình không?