Đối với category
Để loại bỏ các bài viết thuộc một category cụ thể khỏi trang chủ trong WordPress, bạn có thể sử dụng filter pre_get_posts để thực hiện điều này. Bạn có thể thêm mã sau vào file functions.php của theme:
function exclude_category_home( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
function exclude_category_home( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( 'cat', '-<category_id>' ); // Thay <category_id> bằng ID của category cần loại bỏ
}
}
add_action( 'pre_get_posts', 'exclude_category_home' );
Lưu ý thay bằng ID của category cần loại bỏ và nếu bạn muốn loại bỏ nhiều category, bạn có thể thêm chúng cách nhau bằng dấu phẩy. Ví dụ: ‘-1, -2, -3’ để loại bỏ category có ID 1, 2 và 3.
Đối với tag
Hơi khác một chút
function exclude_tag_from_homepage( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$tag_id = get_term_by( 'slug', 'tag-xac-dinh', 'post_tag' )->term_id;
$query->set( 'tag__not_in', array( $tag_id ) );
}
}
add_action( 'pre_get_posts', 'exclude_tag_from_homepage' );