Hiển thị empty categories trong widget WordPress

5 tháng ago, Hướng dẫn WordPress, Views
Hiển thị empty categories trong widget WordPress

Giới thiệu về Danh mục Trống trong WordPress

Trong WordPress, danh mục (category) là một cách hiệu quả để sắp xếp và phân loại nội dung bài viết của bạn. Một danh mục trống là một danh mục không chứa bất kỳ bài viết nào được gán cho nó. Theo mặc định, WordPress thường ẩn các danh mục trống trong các widget và menu điều hướng để tránh làm rối giao diện người dùng. Tuy nhiên, trong một số trường hợp, bạn có thể muốn hiển thị các danh mục trống này, ví dụ như để thông báo cho người dùng về các chủ đề mà bạn dự định sẽ viết trong tương lai, hoặc để duy trì một cấu trúc danh mục nhất quán.

Tại sao Nên Hiển Thị Danh mục Trống?

Việc hiển thị danh mục trống có thể mang lại một số lợi ích, tùy thuộc vào mục tiêu và chiến lược nội dung của bạn. Dưới đây là một số lý do phổ biến:

  • Báo hiệu các chủ đề sắp tới: Nếu bạn có kế hoạch viết về các chủ đề cụ thể trong tương lai, việc hiển thị danh mục trống có thể cho người đọc biết về những gì họ có thể mong đợi.
  • Duy trì cấu trúc danh mục: Hiển thị tất cả các danh mục, kể cả những danh mục trống, giúp duy trì một cấu trúc danh mục nhất quán và dễ hiểu, ngay cả khi một số danh mục chưa có nội dung.
  • Tăng cường SEO (Search Engine Optimization): Mặc dù không có bài viết, danh mục trống vẫn có thể được lập chỉ mục bởi các công cụ tìm kiếm và có thể giúp cải thiện thứ hạng SEO của bạn theo thời gian. Tuy nhiên, điều này cần kết hợp với chiến lược nội dung hiệu quả.
  • Hướng dẫn người dùng: Danh mục trống có thể cung cấp cho người dùng một cái nhìn tổng quan về các chủ đề mà trang web của bạn có thể cung cấp trong tương lai.

Các Cách Hiển Thị Danh mục Trống trong Widget WordPress

Có một số cách khác nhau để hiển thị danh mục trống trong widget WordPress. Chúng ta sẽ xem xét một số phương pháp phổ biến nhất, bao gồm sử dụng plugin, chỉnh sửa code trong file functions.php và sử dụng các tham số trong shortcode (nếu có).

1. Sử dụng Plugin WordPress

Đây là phương pháp đơn giản nhất và được khuyến nghị cho người dùng không có nhiều kinh nghiệm về code. Có rất nhiều plugin miễn phí và trả phí có sẵn trên kho plugin WordPress, có thể giúp bạn dễ dàng hiển thị danh mục trống.

Ví dụ về một số plugin:

  • Category Posts Widget: Một plugin phổ biến cho phép bạn tùy chỉnh cách hiển thị danh mục và bài viết trong widget. Nó thường có tùy chọn để hiển thị hoặc ẩn các danh mục trống.
  • Advanced Category Excluder: Plugin này cho phép bạn loại trừ các danh mục cụ thể khỏi các widget và menu, nhưng nó cũng có thể có tùy chọn để hiển thị các danh mục trống.
  • Custom Category Widget: Một số plugin widget tùy chỉnh cung cấp khả năng kiểm soát chi tiết hơn về cách danh mục được hiển thị, bao gồm cả việc hiển thị danh mục trống.

Hướng dẫn cài đặt và sử dụng plugin:

  1. Đi đến Bảng điều khiển WordPress > Plugins > Add New.
  2. Tìm kiếm plugin bạn muốn sử dụng (ví dụ: “Category Posts Widget”).
  3. Nhấp vào Install Now và sau đó Activate.
  4. Đi đến Appearance > Widgets.
  5. Kéo widget mà bạn vừa cài đặt vào sidebar bạn muốn hiển thị danh mục.
  6. Tìm tùy chọn “Hiển thị danh mục trống” (hoặc tương tự) trong cài đặt widget và bật nó.
  7. Nhấp vào Save để lưu các thay đổi.

2. Chỉnh Sửa File functions.php

Đây là một phương pháp nâng cao hơn, đòi hỏi kiến thức cơ bản về PHP. Bạn có thể thêm code vào file functions.php của theme để tùy chỉnh cách WordPress hiển thị danh mục.

Lưu ý quan trọng: Trước khi chỉnh sửa file functions.php, hãy đảm bảo bạn đã sao lưu trang web của mình. Bất kỳ lỗi nào trong code có thể khiến trang web của bạn không hoạt động.

Ví dụ code:


function my_list_categories( $args = '' ) {
  $defaults = array(
    'orderby' => 'name',
    'order' => 'ASC',
    'style' => 'list',
    'show_count' => 0,
    'hide_empty' => 0, // Đặt thành 0 để hiển thị danh mục trống
    '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,
    'taxonomy' => 'category',
    'walker' => null
  );

  $r = wp_parse_args( $args, $defaults );

  if ( ! isset( $r['pad_counts'] ) && $r['show_count'] && $r['hierarchical'] ) {
    $r['pad_counts'] = true;
  }

  // Descendants of exclusions should be excluded too.
  if ( true === $r['hierarchical'] ) {
    $exclude_tree = ( $r['exclude_tree'] ) ? $r['exclude_tree'] : $r['exclude'];

    if ( $exclude_tree ) {
      $r['exclude_tree'] = wp_parse_id_list( $exclude_tree );
      $r['exclude'] = implode( ',', array_merge( wp_parse_id_list( $r['exclude'] ), $r['exclude_tree'] ) );
    }
  }

  $categories = get_categories( $r );

  $output = '';
  if ( $r['title_li'] && 'list' == $r['style'] ) {
    $output = '
  • ' . $r['title_li'] . '
      '; } if ( empty( $categories ) ) { if ( 'list' == $r['style'] ) { $output .= '
    • ' . __( 'No categories' ) . '
    • '; } else { $output .= __( 'No categories' ); } } else { global $wp_list_categories; $wp_list_categories = $r; $output .= walk_category_tree( $categories, $r['depth'], $r ); } if ( $r['title_li'] && 'list' == $r['style'] ) { $output .= '
  • '; } $output = apply_filters( 'wp_list_categories', $output, $args ); if ( $r['echo'] ) { echo $output; } else { return $output; } } function my_widget_categories( $args ) { $args['hide_empty'] = 0; // Overwrite the default behavior of hiding empty categories. return $args; } add_filter( 'widget_categories_args', 'my_widget_categories' );

    Hướng dẫn thực hiện:

    1. Đi đến Appearance > Theme Editor (hoặc sử dụng FTP để truy cập các file của theme).
    2. Tìm file functions.php trong thư mục theme của bạn.
    3. Thêm code trên vào cuối file functions.php.
    4. Nhấp vào Update File để lưu các thay đổi.

    Code trên sẽ ghi đè hàm wp_list_categories mặc định và đặt tham số hide_empty thành 0, cho phép hiển thị danh mục trống.

    3. Sử Dụng Shortcode (Nếu Có)

    Một số theme và plugin cung cấp shortcode để hiển thị danh mục. Nếu shortcode này có tham số để kiểm soát việc hiển thị danh mục trống, bạn có thể sử dụng nó.

    Ví dụ:

    Giả sử bạn có một shortcode [category_list] và nó có tham số hide_empty. Bạn có thể sử dụng shortcode như sau để hiển thị tất cả các danh mục, bao gồm cả danh mục trống:

    
    [category_list hide_empty="false"]
    

    Lưu ý: Cách này chỉ khả dụng nếu theme hoặc plugin của bạn cung cấp shortcode có tham số phù hợp.

    Lưu Ý Quan Trọng

    • Sao Lưu: Trước khi thực hiện bất kỳ thay đổi nào đối với file functions.php, hãy sao lưu trang web của bạn.
    • Theme Con: Nếu bạn đang sử dụng theme con, hãy thực hiện các thay đổi trong file functions.php của theme con, thay vì theme cha. Điều này sẽ ngăn các thay đổi của bạn bị ghi đè khi theme cha được cập nhật.
    • Kiểm Tra: Sau khi thực hiện các thay đổi, hãy kiểm tra trang web của bạn để đảm bảo rằng danh mục trống được hiển thị đúng cách và không có lỗi nào xảy ra.
    • SEO: Hãy cân nhắc tác động của việc hiển thị danh mục trống đến SEO của bạn. Mặc dù nó có thể có lợi trong một số trường hợp, nhưng nó cũng có thể khiến trang web của bạn trông không chuyên nghiệp nếu có quá nhiều danh mục trống.

    Kết luận

    Việc hiển thị danh mục trống trong widget WordPress có thể hữu ích trong một số trường hợp nhất định. Bằng cách sử dụng plugin, chỉnh sửa file functions.php, hoặc sử dụng shortcode, bạn có thể dễ dàng tùy chỉnh cách danh mục của bạn được hiển thị và kiểm soát việc có hiển thị danh mục trống hay không. Hãy nhớ sao lưu trang web của bạn trước khi thực hiện bất kỳ thay đổi nào và kiểm tra kỹ lưỡng sau khi thực hiện.