Lựa chọn chuyên mục bài đăng được hiển thị trên trang index của blog WordPress

Category-ManagementHôm nay mình xin giới thiệu một kĩ thuật để lựa chọn những bài viết thuộc một hay vài chuyên mục nhất định để hiển thị trên trang index của blog WordPress. Việc này có thể áp dụng cho những blog có nhiều chuyên mục nhưng bạn chỉ muốn trang chủ hiện thị những bài viết theo chủ đề của blog.  Những bài viết thuộc những chuyên mục phụ sẽ không được hiển thị trên trang chủ.

Mình lấy vi dụ như blog của bạn có chủ đề về thủ thuật WordPress, MMO, nhưng trên blog còn có thêm mục giải trí, và bạn không muốn những bài viết trên mục giải trí xuất hiện trên trang chủ. Vậy bạn sẽ làm thế nào?

Ở đây mình sẽ thực hiện trên theme twentyten mà WordPress cung cấp sẵn. Các bạn sử dụng các themes khác có thể thực hiện tương tự.

Trước tiên, các bạn vào database của blog, tìm khóa wp_terms, mở nó ra để xác định id của các chuyên mục (category) mà bạn đã tạo. Bạn chú ý ở đây có cả id của các tag mà bạn đã tạo.

lua-chon-bai-dang-hien-thi-tren-trang-index

Ví dụ ở đây mình sẽ loại bỏ các bài viết thuộc mục toán học và tổ hợp. id của hai mục này lần lượt là 1113

Mở file loop.php trong theme của bạn và tìm đoạn code:

<?php while ( have_posts() ) : the_post(); ?>

Bạn chèn đoạn code này vào ngay phía sau:

<?php $categories = get_the_category($post->ID);
foreach($categories as $category) :
$idpost = $category->term_id;
if ($idpost!=11 & $idpost!=13):?>

Nếu muốn bỏ thêm một số mục nữa thì có thể thêm & $idpost!=…vào trong điều kiện của if.

Tiếp theo bạn tìm đoạn code:

<?php endwhile; // End the loop. Whew. ?>

Và chèn ngay phía trước nó đoạn code:

<?php endif; endforeach; ?>

Như vậy là bạn đã ngăn các bạn viết thuộc hai mục toán học và tổ hợp hiển thị trên trang chủ. Ngoài ra, nếu bạn chỉ muốn các bài viết thuộc một hay vài chuyên mục nhất định xuất hiện trên trang chủ, bạn có thể thay đoạn code:

 $idpost!=11 & $idpost!=13

Bằng:

$idpost=1 || $idpost=5

Ở đây 15id của chuyên mục mà bạn muốn hiển thị trên trang chủ.

Một số themes có thể không có file loop.php, bạn có thể tìm đoạn code này trong một file khác, chẳng hạn như index.php.

Mình không phải dân lập trình nên những từ ngữ chuyên ngành có thể sử dụng không chính xác, các bạn thông cảm!  {c1}

Cảm ơn bạn đã đọc bài viết!

Đánh giá bài viết này

Chú ý - WordPress Hosting 1$/tháng - miễn phí tên miền

Bạn có biết GoDaddy đang có khuyến mãi WordPress hosting chỉ còn 1$/tháng kèm theo một tên miền .COM .NET .ORG miễn phí. Hãy đăng ký ngay để tiết kiệm chi phí nhất nhé.
Xem ngay

ĐĂNG KÝ NHẬN TIN QUA EMAIL

Nếu thấy bài viết trên blog có ích cho bạn, hãy đăng ký nhận tin qua email để cập nhật bài viết mới nhanh nhất và thỉnh thoảng nhận quà bất ngờ!

Comments

  1. Hoang Phuc says:

    Tìm Id của chuyê mục có thể vào phần quản lý của WordPress xem được mà, bạn vào tận database có vẻ mệt quá {c19} . Mình thì loại bỏ chuyên mục hiển thị bằng pre_get_posts chèn vào file functions.php luôn, mỗi tội phải mò trên WordPress Codex {c24}

    • Cảm ơn bạn đã cung cấp thông tin, nói chung là có nhiều cách, mình chỉ ra một cách thôi

    • Đỗ Thành Luân says:

      Bạn ơi, chèn vào function.php thế nào vậy bạn, chỉ mình đoạn đó với! ^^

  2. cảm ơn, nhưng mình muốn hiển thị thì dùng plugin được không, bạn có thể giới thiệu cho mình plugin hiển thị bài viết ra trang chủ?

  3. Trường Leo says:

    Sao mình làm giống bạn, nhưng khi reload lại trang thì chẳng còn gì, trắng xoá là sao?

  4. Chào bạn
    Ngay tại file archive.php chổ phần include file content-left.php mình muốn nếu khi link của mình có dạng này
    http://localhost/wordpress/vietnam-tours thì include content-left-tours.php , nếu link là http://localhost/wordpress/vietnam-car-rental thì include content-left-car.php ngược lại thì include content-left.php

    Tức là phải GET được chữ vietnam-tours or vietnam-car-rental
    Bạn có thể hướng dẫn mình không,
    cảm ơn bạn

    • Bạn tìm id của hai category đó rồi sử dụng điều kiện if chẳng hạn như:

      if(is_category(1)){
      	include 'content-left-tours.php';
      } else if(is_category(2)){
      			include 'content-left-car.php';
      	   } else include'content-left.php';

      Trong đó 1 là id của category Vietnam-tours, 2 là id của category vietnam-car-rental

  5. Cảm ơn bạn rất nhiều, đúng thứ mình đang cần tìm..

  6. Bạn ơi file loop.php ở mục nào thế ? mình không tìm thấy.

Gửi bình luận

Lưu ý: Không sử dụng keyword để thay cho tên của bạn, hãy sử dụng tên thật. Cảm ơn bạn đã tham gia bình luận trên blog!