Chọn thư mục bài viết cho trang chủ trong Genesis

Chào các bạn! Ở bài viết trước, mình đã có giới thiệu cho các bạn một cách để lựa chọn thư mục bài viết được hiễn thị trên trang chủ hoặc loại bỏ bài viết trong một thư mục không cho xuất hiện trên trang chủ đối với các blog sử dụng WordPress mà không cần dùng plugins. Hôm nay mình sẽ giới thiệu cho các bạn một thủ thuật khác có chức năng tương tự nhưng có thể áp dụng được cho tất cả các themes WordPress bao gồm cả Genesis.

Thủ thuật này khá đơn giản, trước tiên bạn cũng cần phải xác định được địa chỉ id của thư mục (category) mà bạn muốn hiễn thị trên trang chủ. Cách xác định địa chỉ id của category bạn có thể xem hướng dẫn ở bài viết trước. Ở đây mình hướng dẫn cho các bạn thêm một cách đơn giản hơn để xác định được id của category. Bạn vào mục Posts –>Categories. Trong danh sách các category, để chuột vào thư mục bạn chọn và xem đường link bên dưới sẽ có dạng như thế này:

/wp-admin/edit-tags.php?action=edit&taxonomy=category&tag_ID=2&post_type=post

Bạn đễ ý con số mà mình tô đỏ. Đó chính là id của category đó.

Chọn category bài viết cho trang chủ

Để thiết lập cho trang chủ chỉ hiển thị bài viết thuộc thư mục bạn đã chọn, ta thêm code sau vào file function.php trong childtheme.

add_action( 'pre_get_posts', 'raynoblog_category_posts' );
function raynoblog_category_posts( $query ) {
	if( $query->is_main_query() && $query->is_home() ) {
		$query->set( 'cat', '1' );
	}
}

Bạn chú ý thay số 1 bằng địa chỉ id của thư mục bạn vừa xác định. Nếu cần hiển thị bài viết trong nhiều thư mục khác nhau, bạn có thể thay số 1 bằng 1,2,3..

Loại bỏ category khỏi trang chủ

Nếu blog của bạn có nhiều category nhưng bạn muốn loại bỏ một vài category không cho hiển thị trên trang chủ. Bạn cũng sẽ sử dụng đoạn code ở trên nhưng ở các id của category muốn loại bỏ, ta sẽ thêm vào dấu “-” phía trước. Nghĩa là như thế này:

add_action( 'pre_get_posts', 'raynoblog_category_posts' );
function raynoblog_category_posts( $query ) {
	if( $query->is_main_query() && $query->is_home() ) {
		$query->set( 'cat', '-1,-2' );
	}
}

Với thủ thuật này, bạn có thể dành vị trí quan trọng nhất trên blog cho các bài viết bạn tâm đắc thuộc chủ đề blog, ẩn đi các bài viết kém quan trọng hơn. Chúc bạn thành công!

Đá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. hicc sao khi ẩn thư muc đi thì bị lỗi: bài viết cũ nhất lại hiện lên đầu trang. sửa sao đây ak. thanks

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!