Giới Thiệu Chung: Tại Sao Bạn Cần Ẩn Bài Viết Khỏi Trang Chủ WordPress?
Trong quá trình quản lý và phát triển một trang web WordPress, đôi khi bạn sẽ gặp phải tình huống cần ẩn một hoặc một vài bài viết nhất định khỏi trang chủ. Có nhiều lý do cho việc này, từ việc thử nghiệm nội dung mới, tạo ra các trang đích đặc biệt, đến việc giữ lại những bài viết cũ nhưng không muốn chúng làm lộn xộn trang chủ của bạn.
Việc ẩn bài viết khỏi trang chủ không nhất thiết có nghĩa là xóa bỏ chúng. Thay vào đó, bài viết vẫn tồn tại trên trang web của bạn, có thể được truy cập trực tiếp thông qua URL của chúng hoặc thông qua các trang lưu trữ, danh mục, hoặc thẻ.
Bài viết này sẽ hướng dẫn bạn qua một số phương pháp khác nhau để ẩn bài viết khỏi trang chủ WordPress, từ những cách đơn giản nhất đến những phương pháp phức tạp hơn một chút, phù hợp với nhiều trình độ người dùng khác nhau.
Các Phương Pháp Đơn Giản Để Ẩn Bài Viết Khỏi Trang Chủ
Những phương pháp này thường dễ thực hiện và phù hợp cho những người dùng mới bắt đầu làm quen với WordPress.
1. Sử Dụng Plugin “Exclude Pages from Navigation”
Đây là một trong những cách đơn giản nhất để ẩn bài viết (cũng như trang) khỏi trang chủ và các khu vực khác trên trang web của bạn. Plugin “Exclude Pages from Navigation” cho phép bạn dễ dàng lựa chọn những bài viết hoặc trang mà bạn muốn ẩn khỏi các menu, trang lưu trữ, và tất nhiên, cả trang chủ.
Cách thực hiện:
- Cài đặt và kích hoạt plugin “Exclude Pages from Navigation”.
- Chỉnh sửa bài viết mà bạn muốn ẩn.
- Trong hộp Meta của bài viết (thường nằm ở bên phải màn hình soạn thảo), bạn sẽ thấy một tùy chọn “Exclude from Navigation”.
- Đánh dấu vào ô “Exclude from Navigation” và cập nhật bài viết.
Plugin này đặc biệt hữu ích nếu bạn muốn ẩn nhiều bài viết cùng lúc, vì bạn có thể thực hiện việc này trực tiếp từ trang chỉnh sửa bài viết.
2. Sử Dụng Tính Năng “Stick to the Top” Kết Hợp Với Giới Hạn Số Lượng Bài Viết Hiển Thị
Mặc dù không trực tiếp ẩn bài viết, phương pháp này giúp đảm bảo những bài viết “quan trọng” luôn ở trên cùng của trang chủ, đẩy những bài viết “không quan trọng” xuống dưới và có thể ra khỏi trang chủ nếu bạn giới hạn số lượng bài viết hiển thị.
Cách thực hiện:
- Chỉnh sửa bài viết mà bạn muốn “giữ” trên trang chủ.
- Trong hộp Meta của bài viết, tìm tùy chọn “Stick to the top of the blog” (hoặc tương tự, tùy thuộc vào giao diện bạn đang sử dụng).
- Đánh dấu vào ô “Stick to the top of the blog” và cập nhật bài viết.
- Vào “Appearance” -> “Customize” -> “Homepage Settings” (hoặc “Blog Settings”, tùy thuộc vào giao diện).
- Điều chỉnh số lượng bài viết hiển thị trên trang chủ sao cho chỉ những bài viết bạn muốn hiển thị là được hiển thị.
Lưu ý rằng phương pháp này chỉ hiệu quả khi bạn có một số lượng bài viết hạn chế trên trang web của mình.
Các Phương Pháp Nâng Cao: Sử Dụng Mã Code và Template Tags
Những phương pháp này đòi hỏi bạn có một chút kiến thức về code (PHP, HTML, CSS) và quen thuộc với cấu trúc template của WordPress.
1. Sử Dụng Template Tags (Ví Dụ: `is_home()` và `is_front_page()`) trong Loop
Bạn có thể sử dụng các template tags như `is_home()` và `is_front_page()` để kiểm tra xem bạn đang ở trên trang chủ hay không, và sau đó quyết định có hiển thị bài viết hay không.
Ví dụ:
<?php
if ( have_posts() ) {
while ( have_posts() ) {
the_post();
// Ẩn bài viết có ID là 123
if ( get_the_ID() != 123 ) {
?>
<article>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php the_excerpt(); ?>
</article>
<?php
}
}
}
?>
Đoạn code này sẽ lặp qua tất cả các bài viết, nhưng sẽ bỏ qua (không hiển thị) bài viết có ID là 123. Bạn có thể thay đổi ID này thành ID của bài viết bạn muốn ẩn.
Lưu ý quan trọng: Chỉnh sửa trực tiếp các file template của giao diện (theme) có thể gây ra lỗi nếu bạn không cẩn thận. Nên sử dụng child theme để thực hiện các thay đổi này. Ngoài ra, hãy sao lưu (backup) trang web của bạn trước khi thực hiện bất kỳ thay đổi nào.
2. Sử Dụng Custom Fields Để Kiểm Soát Hiển Thị Bài Viết
Custom fields (trường tùy chỉnh) cho phép bạn thêm thông tin bổ sung vào mỗi bài viết. Bạn có thể sử dụng custom fields để xác định xem một bài viết có nên được hiển thị trên trang chủ hay không.
Cách thực hiện:
- Sử dụng một plugin như “Advanced Custom Fields (ACF)” để tạo một custom field dạng checkbox với tên, ví dụ, “hide_from_homepage”.
- Khi chỉnh sửa một bài viết, bạn có thể đánh dấu vào checkbox này nếu bạn muốn ẩn bài viết khỏi trang chủ.
- Trong file template `index.php` (hoặc file template hiển thị trang chủ), bạn có thể sử dụng hàm `get_field()` (của ACF) để kiểm tra giá trị của custom field này.
Ví dụ:
<?php
if ( have_posts() ) {
while ( have_posts() ) {
the_post();
// Kiểm tra custom field "hide_from_homepage"
$hide_from_homepage = get_field('hide_from_homepage');
if ( !$hide_from_homepage ) {
?>
<article>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php the_excerpt(); ?>
</article>
<?php
}
}
}
?>
Đoạn code này sẽ chỉ hiển thị bài viết nếu custom field “hide_from_homepage” *không* được đánh dấu (tức là giá trị của nó là `false`).
3. Tạo Custom Post Type và Loại Bỏ Khỏi Vòng Lặp Trang Chủ
Nếu bạn có một loại nội dung đặc biệt mà bạn không muốn hiển thị trên trang chủ, bạn có thể tạo một custom post type (loại bài viết tùy chỉnh) và loại bỏ nó khỏi vòng lặp (loop) của trang chủ.
Cách thực hiện:
- Sử dụng một plugin như “Custom Post Type UI” hoặc viết code để đăng ký một custom post type.
- Trong file template `functions.php` của child theme, bạn có thể sử dụng action hook `pre_get_posts` để loại bỏ custom post type này khỏi vòng lặp trang chủ.
Ví dụ:
<?php
function exclude_custom_post_type_from_homepage( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( 'post_type', array( 'post' ) ); // Chỉ hiển thị 'post' (bài viết)
}
}
add_action( 'pre_get_posts', 'exclude_custom_post_type_from_homepage' );
?>
Đoạn code này sẽ đảm bảo rằng chỉ có post type “post” (bài viết thông thường) được hiển thị trên trang chủ. Tất cả các custom post type khác sẽ bị loại bỏ.
Tổng Kết và Lời Khuyên
Việc ẩn bài viết khỏi trang chủ WordPress là một nhu cầu phổ biến và có nhiều cách để thực hiện nó. Lựa chọn phương pháp phù hợp nhất phụ thuộc vào trình độ kỹ thuật của bạn, số lượng bài viết bạn muốn ẩn, và mức độ kiểm soát bạn muốn có.
- Đối với người mới bắt đầu, sử dụng plugin là lựa chọn đơn giản và nhanh chóng nhất.
- Nếu bạn muốn kiểm soát nhiều hơn và sẵn sàng làm việc với code, các phương pháp sử dụng template tags và custom fields sẽ linh hoạt hơn.
- Luôn luôn sao lưu trang web của bạn trước khi thực hiện bất kỳ thay đổi nào, đặc biệt là khi chỉnh sửa các file template.
- Sử dụng child theme để tránh mất các thay đổi khi cập nhật giao diện chính (parent theme).
Hy vọng rằng bài viết này đã cung cấp cho bạn những thông tin hữu ích và giúp bạn giải quyết vấn đề ẩn bài viết khỏi trang chủ WordPress một cách hiệu quả.