Hiển thị tất cả các post type ra ngoài trang chủ

Bạn đang tạo nhiều custom post type trên blog WordPress nhưng bạn chưa biết làm thế nào để hiển thị tất cả các post type bao gồm cả post ra bên ngoài trang chủ? Bài viết này Sáu sẽ hướng dẫn cho bạn viết câu truy vấn làm sao để có thể thực hiện được điều này.

Tạo và sử dụng custom post type trong WordPress

Việc lấy tất cả bài viết bao gồm custom post type trên WordPress thật ra cũng không khó, quan trọng là bạn nắm được cách truy vấn bài viết trong khi thực hiện giao diện hoặc plugin. Nếu bạn đã hiểu phần căn bản của các loại truy vấn bài viết thì việc lấy tất cả post type chỉ là chuyện nhỏ.

Bây giờ Sáu và bạn sẽ đi vào nội dung của bài viết này, bạn mở tập tin functions.php của giao diện lên và thêm vào action sau:

function get_all_post_home_loop( $query ) {
	if ( is_home() && $query->is_main_query() )
		$query->set( 'post_type', array( 'post', 'download', 'portfolio', 'ten-post-type') );
	return $query;
}
add_filter( 'pre_get_posts', 'get_all_post_home_loop' );

Hàm bên trên sẽ kiểm tra nếu bạn đang ở trang chủ và đây là biến truy vấn chính của WordPress thì trước khi lấy bài viết, chỉnh sửa câu truy vấn của WordPress lại, bổ sung thêm các loại post type vào một mảng. Bạn có thể điền bao nhiêu loại custom post type vào đây cũng được, sau khi hoàn thành xong thì bạn sẽ thấy được kết quả có sự khác biệt so với bạn đầu.

Đó là nói đến bạn sửa lại biến $query có sẵn. Bây giờ bạn tạo một câu truy vấn mới để hiển thị trong custom template chẵn hạn, bạn sẽ thực hiện việc này như sau:

<?php
$myposts = new WP_Query(array('posts_per_page' => 10, 'post_type' => array('post', 'download', 'portfilio', 'ten-post-type')));
if($myposts->have_posts()) {
	while($myposts->have_posts()) {
		$myposts->the_post();
		?>
		<p><?php the_title(); ?></p>
		<?php
	}
	wp_reset_postdata();
}
?>

Vẫn còn khá nhiều cách nữa để truy vấn tất cả bài viết trên WordPress, điều quan trọng nhất là bạn phải nắm được phần căn bản và sau đó mới áp dụng vào những cái nâng cao. Chúc bạn thành công.

Leave a Reply

3 Comments on "Hiển thị tất cả các post type ra ngoài trang chủ"

Notify of
avatar
Sort by:   newest | oldest | most voted
Son tran
Guest

Minh dang can thuc hien dua post ra ngoai chu? Dang ko biet lam sao da biet dc cach nay. Cam rat nhieu bai viet nhe

ngo ky
Guest

mình muốn làm 1 khung bình luận giống như thế này
mình dám tìm hiểu rất nhiều và nhờ nhiều người nhưng cũng k làm được
bạn có thể vui lòng giúp mình hoặc chỉ cho mình được k ạ?
cảm ơn!

wpDiscuz