Tôi muốn bài post trang chủ không có chứa post thuộc 1 category||tag xác định

Đố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' );

Related Posts