Hiển thị bài viết gần đây theo category WordPress

Giới Thiệu Tổng Quan Về Việc Hiển Thị Bài Viết Gần Đây Theo Category
WordPress là một nền tảng quản lý nội dung (CMS) phổ biến, cho phép người dùng dễ dàng tạo và quản lý website của mình. Một trong những tính năng quan trọng của WordPress là khả năng phân loại bài viết theo category (chuyên mục). Việc hiển thị bài viết gần đây theo category là một cách tuyệt vời để giúp người dùng dễ dàng tìm thấy nội dung mà họ quan tâm, đồng thời cải thiện trải nghiệm người dùng (UX) trên website của bạn.
Bài viết này sẽ hướng dẫn chi tiết các phương pháp khác nhau để hiển thị bài viết gần đây theo category trong WordPress, từ việc sử dụng widget mặc định, tùy chỉnh code, đến sử dụng plugin chuyên dụng. Chúng ta sẽ đi sâu vào từng phương pháp, cung cấp ví dụ cụ thể và giải thích rõ ràng để bạn có thể dễ dàng áp dụng cho website của mình.
Sử Dụng Widget “Bài Viết Gần Đây” Mặc Định của WordPress
WordPress đi kèm với một widget “Bài Viết Gần Đây” (Recent Posts) mặc định, tuy nhiên, nó không có chức năng lọc theo category. Mặc dù vậy, chúng ta có thể tận dụng widget này và tùy chỉnh nó để đạt được mục tiêu của mình.
Các bước thực hiện:
- Truy cập vào trang quản trị WordPress của bạn.
- Điều hướng đến “Giao diện” (Appearance) -> “Widgets”.
- Tìm widget “Bài Viết Gần Đây” và kéo nó vào vị trí bạn muốn hiển thị (ví dụ: sidebar, footer).
- Mở widget “Bài Viết Gần Đây” và tùy chỉnh các thiết lập cơ bản (tiêu đề, số lượng bài viết hiển thị).
Để lọc bài viết theo category, chúng ta cần thêm code tùy chỉnh. Xem phần tiếp theo để biết chi tiết.
Tùy Chỉnh Code Để Hiển Thị Bài Viết Theo Category
Đây là phương pháp linh hoạt nhất, cho phép bạn hoàn toàn kiểm soát cách hiển thị bài viết. Tuy nhiên, nó đòi hỏi bạn phải có kiến thức cơ bản về PHP và WordPress.
Phương pháp 1: Sử dụng WP_Query
WP_Query
là một class mạnh mẽ trong WordPress, cho phép bạn truy vấn và hiển thị bài viết theo nhiều tiêu chí khác nhau, bao gồm cả category. Dưới đây là một ví dụ về cách sử dụng WP_Query
để hiển thị 5 bài viết gần đây từ category có ID là 3:
$args = array(
‘posts_per_page’ => 5,
‘category’ => 3, // ID của category bạn muốn hiển thị
‘orderby’ => ‘date’,
‘order’ => ‘DESC’
);
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) {
echo ‘<ul>’;
while ( $the_query->have_posts() ) {
$the_query->the_post();
echo ‘<li><a href=”<?php the_permalink(); ?>”><?php the_title(); ?></a></li>’;
}
echo ‘</ul>’;
wp_reset_postdata();
} else {
echo ‘<p>Không có bài viết nào.</p>’;
}
?>
Bạn có thể đặt đoạn code này vào file functions.php
của theme (hoặc child theme) hoặc tạo một shortcode để dễ dàng sử dụng trong các trang, bài viết hoặc widget.
Phương pháp 2: Sử dụng get_posts()
get_posts()
là một hàm khác trong WordPress, cũng cho phép bạn truy vấn bài viết. Nó đơn giản hơn WP_Query
, nhưng vẫn đủ mạnh để hiển thị bài viết theo category.
$args = array(
‘numberposts’ => 5,
‘category’ => 3, // ID của category bạn muốn hiển thị
‘orderby’ => ‘date’,
‘order’ => ‘DESC’
);
$recent_posts = get_posts( $args );
echo ‘<ul>’;
foreach( $recent_posts as $post ) {
echo ‘<li><a href=”<?php the_permalink(); ?>”><?php the_title(); ?></a></li>’;
}
echo ‘</ul>’;
wp_reset_postdata();
?>
Tương tự như WP_Query
, bạn có thể đặt đoạn code này vào file functions.php
hoặc tạo một shortcode.
Cách tạo Shortcode
Để tạo shortcode, bạn cần thêm đoạn code sau vào file functions.php
:
function recent_posts_by_category( $atts ) {
$atts = shortcode_atts( array(
‘category’ => ”,
‘numberposts’ => 5,
), $atts );
$category_id = intval( $atts[‘category’] );
$number_of_posts = intval( $atts[‘numberposts’] );
$args = array(
‘numberposts’ => $number_of_posts,
‘category’ => $category_id,
‘orderby’ => ‘date’,
‘order’ => ‘DESC’
);
$recent_posts = get_posts( $args );
$output = ‘<ul>’;
foreach( $recent_posts as $post ) {
$output .= ‘<li><a href=”‘ . get_permalink( $post->ID ) . ‘”>’ . get_the_title( $post->ID ) . ‘</a></li>’;
}
$output .= ‘</ul>’;
wp_reset_postdata();
return $output;
}
add_shortcode( ‘recent_posts_category’, ‘recent_posts_by_category’ );
?>
Sau khi thêm code này, bạn có thể sử dụng shortcode [recent_posts_category category="3" numberposts="5"]
để hiển thị 5 bài viết gần đây từ category có ID là 3.
Sử Dụng Plugin Để Hiển Thị Bài Viết Theo Category
Nếu bạn không muốn tùy chỉnh code, bạn có thể sử dụng các plugin chuyên dụng để hiển thị bài viết gần đây theo category. Có rất nhiều plugin miễn phí và trả phí có sẵn trên WordPress plugin directory.
Một số plugin phổ biến:
- Recent Posts Widget With Thumbnails: Plugin này cho phép bạn hiển thị bài viết gần đây với hình thumbnail, hỗ trợ lọc theo category và nhiều tùy chọn khác.
- Advanced Post Queries: Plugin này cung cấp khả năng truy vấn bài viết nâng cao, bao gồm lọc theo category, tag, custom fields và nhiều tiêu chí khác.
- Display Posts: Plugin đơn giản nhưng mạnh mẽ, cho phép bạn hiển thị bài viết theo nhiều cách khác nhau, bao gồm lọc theo category và tag.
Để cài đặt plugin, bạn có thể thực hiện theo các bước sau:
- Truy cập vào trang quản trị WordPress của bạn.
- Điều hướng đến “Plugins” -> “Add New”.
- Tìm kiếm plugin bạn muốn cài đặt.
- Nhấp vào “Install Now” và sau đó “Activate”.
Sau khi cài đặt và kích hoạt plugin, bạn có thể tùy chỉnh các thiết lập của plugin để hiển thị bài viết theo category theo ý muốn.
Lựa Chọn Phương Pháp Phù Hợp
Việc lựa chọn phương pháp phù hợp để hiển thị bài viết gần đây theo category phụ thuộc vào nhu cầu và kỹ năng của bạn. Dưới đây là một số gợi ý:
- Widget mặc định: Phù hợp nếu bạn chỉ cần hiển thị danh sách bài viết đơn giản và có thể tùy chỉnh code.
- Tùy chỉnh code: Phù hợp nếu bạn muốn hoàn toàn kiểm soát cách hiển thị bài viết và có kiến thức về PHP và WordPress.
- Plugin: Phù hợp nếu bạn không muốn tùy chỉnh code và muốn một giải pháp nhanh chóng và dễ sử dụng.
Kết Luận
Hiển thị bài viết gần đây theo category là một cách hiệu quả để cải thiện trải nghiệm người dùng và giúp người dùng dễ dàng tìm thấy nội dung mà họ quan tâm. Bài viết này đã cung cấp các phương pháp khác nhau để thực hiện điều này trong WordPress, từ việc sử dụng widget mặc định, tùy chỉnh code, đến sử dụng plugin chuyên dụng. Hy vọng rằng bài viết này sẽ giúp bạn lựa chọn phương pháp phù hợp và áp dụng thành công cho website của mình.