Home » Vọc web » Cách ẩn bài viết của chuyên mục bất kỳ cho website wordpress

Cách ẩn bài viết của chuyên mục bất kỳ cho website wordpress

Trong wordpress, bình thường khi đăng một bài viết mới lập tức nó sẽ xuất hiện trên danh sách các bài viết gần đây (recent posts hay latest posts). Tuy nhiên vì một lý do nào đó bạn không muốn nó xuất hiện như mặc định. Như thường lệ ở bài viết này chúng ta sẽ hướng dẫn cách chỉ dùng code. Nói không với plugin nhé, với các nhiệm vụ đơn giản như này thì không nhé.

1 Một số lý do khiến mọi người muốn ẩn một chủ đề khỏi trang chính

a . Đó là một chuyên mục phụ hoặc có thể là một chuyên mục hỏi đáp. Bạn sẽ nên ẩn đi để tránh việc tin tức không quan trọng chiếm chỗ chủ đề chính của website. Để xem chuyên mục phụ này bạn có thể nhấp vào menu riêng để duyệt riêng các bài viết đó. Hoặc chúng ta cũng có thể tạo danh sách hiển thị riêng cho các chuyên mục đã ẩn.

b. Tác giả cao cấp cần ẩn. Một trang web có nhiều tác giả với nhiều chủ đề khác nhau. Nếu trong đó có người viết nội dung bình thường, có người viết chủ đề nâng cao. Admin thì muốn thành viên đăng ký mới có thể xem chủ đề nâng cao chẳng hạn. Lúc đó chúng ta cần ẩn các chủ đề nâng cao đi nếu khách xem không đăng ký.

c. Tin tức cần nhấn mạnh. Ngược lại với nguyên nhân trên, ví dụ giai đoạn này chúng ta muốn làm nổi bật phần tin tức. Các chủ đề khác nên được ẩn đi để mọi người tập trung đọc tin tức mà ko bỏ sót. Cần xem chủ đề khác thì phải nhấp vào menu hoặc một liên kết riêng.

Và còn nhiều trường hợp khác với nhiều ý đồ khác nhau mà không thể liệt kê hết được. Tuy nhiên như đã nói trên chúng ta có thể ngăn cho nó không hiện lên phần danh sách bài viết mới. Nhưng khi truy cập vào menu chuyên mục các bài viết vẫn hiện lên bình thường. Hoặc chúng ta có thể tạo riêng cho nó một danh sách bài viết theo chuyên mục. Xem thêm Hiển thị bài viết theo chuyên mục không cần plugin

Ẩn chuyên mục khỏi danh sách

2 Cách ẩn một hoặc nhiều chuyên mục bất kỳ

Giờ vào vấn đề chính thôi nhỉ. Để làm được việc này chúng ta chỉ đơn giản là copy đoạn code bên dưới. Sau đó dán nó vào trong file functions.php của themes đang sử dụng. Có thể thực hiện tại trang quản lý Admin hoặc sửa file trực tiếp trên hosting. Cái này là cơ bản nhé 🙂

//An bai viet cua chuyen muc

function hide_category( $query ) {
if ( $query->is_home ) {
$query->set( 'cat', '-30' );
}
return $query;
}

add_filter( 'pre_get_posts', 'hide_category' );

Trong đoạn code này, chúng ta chỉ cần lưu ý con số -30. Nó là ID của chuyên mục chúng ta cần ẩn và thêm dấu “-” phía trước.

Để xem ID của một chuyên mục chúng ta vào ta vào Admin CP > chọn Chuyên mục > nhấp chỉnh sửa sẽ xuất hiện một liên kết dài với số ID trên thanh địa chỉ trình duyệt. Hoặc bạn chỉ cần rê chuột vào chữ Chỉnh sửa, ID sẽ xuất hiện trong link phía dưới trình duyệt.

Xem số ID của chuyên mục

Để ẩn nhiều chuyên mục hơn chúng ta chỉ cần thêm vào nhiều ID, ví dụ:

//An bai viet cua chuyen muc

function hide_category( $query ) {
if ( $query->is_home ) {
$query->set( 'cat', '-30, -31, -40' );
}
return $query;
}
add_filter( 'pre_get_posts', 'hide_category' );

Lưu file lại, xóa cache đi nào. Giờ chúng ta vào tải lại trang chủ xem những bài của chuyên mục vừa ẩn có còn hiện ra không nhé. Nếu nó vẫn hiển thị, để lại bình luận bên dưới chúng ta sẽ cùng nghiên cứu.


Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *