Home WordpressWordPress cơ bản Loại bỏ các bài viết trong một số category – [wordpress]

Loại bỏ các bài viết trong một số category – [wordpress]

by admincp

Trong bài trước mình đã hướng dẫn cách sử lý lọc bài viết trong template của wordpress sử dụng filter “pre_get_posts”. Một trong số các ứng dụng của hooks pre_get_posts là loại bỏ posts trong category.
lọc kết quả bài viết wordpress
Khi muốn lọc điều kiện để lấy bài viết theo mục đích sử dụng của bạn. Ví dụ sau đây mình sẽ loại bỏ các sản phẩm trong một category của trang web bán hàng bằng woocommerce mà không muốn cho nó hiển thị.

//Exclude posts from a particular category
add_action( 'pre_get_posts', 'custom_pre_get_posts_query' );
function custom_pre_get_posts_query( $q ) {
 
	if ( ! $q->is_main_query() ) return;
	if ( ! $q->is_post_type_archive() ) return;
	
	if ( ! is_admin() && is_shop()) {
 
		$q->set( 'tax_query', array(array(
			'taxonomy' => 'product_cat',
			'field' => 'slug',
			'terms' => array( 'knives' ), // Don't display products in the knives category on the shop page
			'operator' => 'NOT IN'
		)));
	     //hoặc 
             $q->set('category__not_in'=>array('9'));
             //Exclude categories on your main page
             if ( $query->is_home() && $query->is_main_query() ) {
                 $query->set( 'cat', '-1,-1347' );
             }
	}
 
	remove_action( 'pre_get_posts', 'custom_pre_get_posts_query' );
 
}

Còn nhiều ứng dụng khác của hook pre_get_posts mà bạn sẽ nhờ tới. Chúc bạn học tốt wordpress!

Nếu bạn thích bài viết này, hãy ủng hộ chúng tôi bằng cách đăng ký nhận bài viết mới ở bên dưới và đừng quên chia sẻ kiến thức này với bạn bè của bạn nhé. Bạn cũng có thể theo dõi blog này trên TwitterFacebook

Liên hệ

Công ty chuyên Thiết kế website uy tín nhất Miền Bắc: http://vinastar.net

Hotline tư vấn: 0989 48 3456

Nguồn: Sưu tầm trên internet

You may also like

Leave a Comment