397
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.
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 Twitter và Facebook
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