10/12/2015

Xác địa ID của category

Để ẩn bài viết của một chuyên mục nào đó trên website không cho hiển thị ngoài trang chủ, bạn hoàn toàn có thể tìm kiếm một plugin để sử dụng. Có rất nhiều plugins có chức năng này nhưng hầu hết thường bổ xung thêm rất nhiều tùy chọn không cần thiết. Nếu bạn chỉ cần một chức năng cơ bản là không cho bài viết của một hay nhiều category hiển thị ở trang chủ thì chỉ cần sử dụng thủ thuật nhỏ sau đây là có thể thực hiện được.

Xác địa ID của category

Trước tiên bạn cần xác định địa chỉ ID của category bạn muốn ẩn bài viết ngoài trang chủ. Bạn chỉ cần vào danh sách các category bạn đã tạo, click vào edit category bạn chọn và nhìn đường link, bạn sẽ thấy một con số như trong hình dưới đây, đó chính là ID của category bạn đã chọn.

Mỗi category có một ID duy nhất không trùng với nhau. Ta sẽ sử dụng ID này trong đoạn code dưới đây.

Ẩn category ngoài trang chủ

Mở file functions.php trong thư mục theme bạn đang sử dụng, chèn vào cuối file đoạn code dưới đây:
?
1
2
3
4
5
6
7
8
/*-----------------------------exclude category----------------------------*/
add_filter('pre_get_posts', 'rayno_exclude_category');
function rayno_exclude_category($query) {
  if ( $query->is_home() ) {
    $query->set('category__not_in', array(2,16));
  }
  return $query;
}
Thay những con số 2, 16 trong đoạn code trên bằng ID bạn đã nhận được ở bước trên. Bạn có thể thêm bao nhiêu ID tùy ý, mỗi ID cách nhau bằng dấu phẩy.

Chọn category hiển thị ngoài trang chủ

Trong trường hợp ngược lại, bạn chỉ muốn bài viết thuộc một hay vài category hiển thị ngoài trang chủ, chỉ cần sử dụng đoạn code dưới đây thay cho đoạn code trên.
?
1
2
3
4
5
6
7
8
/*-----------------------------include homepage----------------------------*/
add_filter('pre_get_posts', 'includeCat');
function includeCat($query) {
  if ( $query->is_home() ) {
    $query->set('category__in', array(1,5));
  }
  return $query;
}
Như vậy là bạn đã hoàn thành thủ thuật. Hãy kiểm tra lại ở trang chủ xem bài viết trong những category bạn loại bỏ có còn hay không nhé!

0 comments:

Post a Comment