- shares
- Facebook Messenger
- Gmail
- Viber
- Skype
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!
Để 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 Messenger
- Gmail
- Viber
- Skype