Hiển thị Empty Categories trong Widget WordPress: Hướng dẫn chi tiết
WordPress, với tính linh hoạt và khả năng tùy biến cao, cho phép người dùng tạo ra các trang web độc đáo và chuyên nghiệp. Một trong những yếu tố quan trọng để tổ chức nội dung trên website là sử dụng các category (chuyên mục). Tuy nhiên, mặc định, WordPress không hiển thị các category trống trong các widget như Category Widget hoặc menu. Điều này có thể gây khó khăn cho người dùng muốn hiển thị tất cả các category, bao gồm cả những category chưa có bài viết nào.
Bài viết này sẽ hướng dẫn bạn chi tiết cách hiển thị các empty categories (chuyên mục trống) trong widget WordPress, giúp bạn có thể hiển thị tất cả các category, ngay cả khi chúng chưa có nội dung, và cung cấp cho người dùng trải nghiệm điều hướng tốt hơn.
Tại sao nên hiển thị Empty Categories?
Mặc dù việc không hiển thị empty categories có vẻ hợp lý (vì chúng không chứa nội dung), nhưng trong một số trường hợp, việc hiển thị chúng lại mang lại nhiều lợi ích:
- Tạo sự đầy đủ và hoàn thiện: Hiển thị tất cả các category giúp người dùng thấy được bức tranh toàn cảnh về cấu trúc nội dung của website, ngay cả khi một số category chưa được khai thác.
- Kích thích sự sáng tạo nội dung: Khi nhìn thấy các category trống, người quản trị website có thể được thúc đẩy để tạo ra nội dung mới phù hợp với các category đó.
- Cải thiện trải nghiệm người dùng: Nếu bạn đang xây dựng một website có kế hoạch nội dung chi tiết, việc hiển thị empty categories giúp người dùng biết được các chủ đề mà bạn dự định sẽ đề cập đến trong tương lai.
Các phương pháp hiển thị Empty Categories trong Widget WordPress
Có nhiều cách để hiển thị empty categories trong widget WordPress. Dưới đây là một số phương pháp phổ biến và hiệu quả:
Phương pháp 1: Sử dụng Theme Customizer
Một số theme WordPress đã tích hợp sẵn tùy chọn cho phép hiển thị empty categories trong widget Category. Bạn có thể kiểm tra xem theme của bạn có tính năng này không bằng cách truy cập vào Theme Customizer:
- Đi đến Appearance > Customize trong bảng điều khiển WordPress.
- Tìm kiếm các tùy chọn liên quan đến widget hoặc sidebar.
- Kiểm tra xem có tùy chọn “Hiển thị empty categories” hoặc tương tự không.
- Nếu có, hãy bật tùy chọn này và lưu thay đổi.
Nếu theme của bạn hỗ trợ, đây là cách đơn giản và nhanh chóng nhất để hiển thị empty categories.
Phương pháp 2: Sử dụng Plugin
Nếu theme của bạn không có tùy chọn hiển thị empty categories, bạn có thể sử dụng một plugin để thực hiện việc này. Có rất nhiều plugin miễn phí và trả phí có sẵn trên WordPress.org. Một số plugin phổ biến bao gồm:
- Category Order and Taxonomy Terms Order: Plugin này cho phép bạn sắp xếp các category theo ý muốn và cũng có tùy chọn hiển thị empty categories.
- Custom Category Widget: Plugin này cung cấp một widget tùy chỉnh cho phép bạn kiểm soát cách hiển thị các category, bao gồm cả việc hiển thị empty categories.
Để cài đặt và sử dụng plugin:
- Đi đến Plugins > Add New trong bảng điều khiển WordPress.
- Tìm kiếm plugin bạn muốn sử dụng.
- Cài đặt và kích hoạt plugin.
- Cấu hình plugin theo hướng dẫn của nhà phát triển để hiển thị empty categories.
Phương pháp 3: Sử dụng Code Snippet (functions.php)
Nếu bạn có kiến thức về PHP, bạn có thể sử dụng một đoạn code snippet để hiển thị empty categories. Thêm đoạn code sau vào file functions.php
của theme (hoặc sử dụng một plugin code snippet như “Code Snippets”):
function wpb_list_categories( $args = '' ) {
$defaults = array(
'orderby' => 'name',
'style' => 'list',
'show_count' => 0,
'hide_empty' => 0, // Đặt giá trị này thành 0 để hiển thị empty categories
'use_desc_for_title' => 1,
'child_of' => 0,
'feed' => '',
'feed_type' => '',
'feed_image' => '',
'exclude' => '',
'exclude_tree' => '',
'current_category' => 0,
'hierarchical' => true,
'title_li' => __( 'Categories' ),
'echo' => 1,
'depth' => 0,
'number' => NULL,
'taxonomy' => 'category',
'walker' => null
);
$r = wp_parse_args( $args, $defaults );
if ( isset( $r['include'] ) && is_string( $r['include'] ) ) {
$r['include'] = preg_split( '/[s,]+/', trim( $r['include'] ) );
} elseif ( isset( $r['include'] ) && ! is_array( $r['include'] ) ) {
$r['include'] = false;
}
if ( isset( $r['exclude'] ) && is_string( $r['exclude'] ) ) {
$r['exclude'] = preg_split( '/[s,]+/', trim( $r['exclude'] ) );
} elseif ( isset( $r['exclude'] ) && ! is_array( $r['exclude'] ) ) {
$r['exclude'] = false;
}
$r['hierarchical'] = (bool) $r['hierarchical'];
$r['hide_empty'] = (bool) $r['hide_empty'];
$categories = get_categories( $r );
if ( ! $categories ) {
return;
}
$output = '';
foreach ( $categories as $category ) {
$output .= '- term_id ) ) . '" title="' . esc_attr( sprintf( __( 'View all posts in %s' ), $category->name ) ) . '">' . $category->name . '
';
}
$output .= '
';
if ( $r['echo'] ) {
echo $output;
} else {
return $output;
}
}
Lưu ý quan trọng: Việc chỉnh sửa file functions.php
có thể gây ra lỗi cho website của bạn nếu không được thực hiện cẩn thận. Hãy sao lưu file này trước khi thực hiện bất kỳ thay đổi nào. Sử dụng một child theme để tránh mất các thay đổi khi cập nhật theme.
Sau khi thêm đoạn code này, bạn có thể sử dụng hàm wpb_list_categories()
thay vì hàm wp_list_categories()
mặc định trong theme của bạn để hiển thị category list, bao gồm cả empty categories. Ví dụ:
<?php wpb_list_categories(); ?>
Phương pháp 4: Chỉnh sửa Widget Category mặc định
Một cách tiếp cận khác là chỉnh sửa trực tiếp widget Category mặc định của WordPress. Tuy nhiên, cách này phức tạp hơn và yêu cầu bạn có kiến thức về lập trình WordPress và widget API.
Bạn cần tạo một child theme và ghi đè (override) template của widget Category. Sau đó, bạn chỉnh sửa code trong template này để bỏ qua việc lọc bỏ empty categories.
Cách này phù hợp với những người có kinh nghiệm lập trình WordPress và muốn kiểm soát hoàn toàn cách hiển thị category list.
Những lưu ý khi hiển thị Empty Categories
Mặc dù việc hiển thị empty categories có thể hữu ích trong một số trường hợp, nhưng bạn cũng cần lưu ý một số điều:
- Cân nhắc mục đích sử dụng: Hãy tự hỏi bản thân bạn tại sao bạn muốn hiển thị empty categories. Nếu bạn không có kế hoạch tạo nội dung cho các category này trong tương lai gần, việc hiển thị chúng có thể gây nhầm lẫn cho người dùng.
- Thiết kế trực quan: Đảm bảo rằng việc hiển thị empty categories không làm ảnh hưởng đến thiết kế tổng thể của website. Bạn có thể sử dụng CSS để làm cho các empty categories trông khác biệt so với các category có nội dung.
- Kiểm tra tốc độ website: Việc hiển thị quá nhiều category, đặc biệt là empty categories, có thể làm chậm tốc độ tải trang của website. Hãy tối ưu hóa code và hình ảnh để đảm bảo website hoạt động mượt mà.
Kết luận
Hiển thị empty categories trong widget WordPress là một tùy chọn hữu ích trong một số trường hợp, giúp bạn tạo ra một cấu trúc nội dung đầy đủ và hoàn thiện cho website. Bạn có thể sử dụng nhiều phương pháp khác nhau để thực hiện việc này, từ sử dụng Theme Customizer, plugin đến code snippet. Hãy lựa chọn phương pháp phù hợp nhất với trình độ kỹ thuật và nhu cầu của bạn. Đừng quên cân nhắc các lưu ý quan trọng để đảm bảo việc hiển thị empty categories không gây ảnh hưởng tiêu cực đến trải nghiệm người dùng và hiệu suất của website.