Lấy thông tin taxonomy hiện tại WordPress

3 tháng ago, WordPress Themes, Views
Lấy thông tin taxonomy hiện tại WordPress

Giới thiệu về Taxonomy trong WordPress

Taxonomy, hay còn gọi là “phân loại,” là một cơ chế mạnh mẽ trong WordPress cho phép bạn nhóm và tổ chức nội dung của mình. Nó giúp người dùng dễ dàng tìm kiếm và duyệt qua nội dung liên quan, cải thiện trải nghiệm người dùng và SEO. WordPress cung cấp các taxonomy mặc định như Categories (Danh mục) và Tags (Thẻ), nhưng bạn cũng có thể tạo các taxonomy tùy chỉnh để phù hợp với nhu cầu cụ thể của trang web của mình.

Việc lấy thông tin taxonomy hiện tại trong WordPress là một kỹ năng quan trọng đối với các nhà phát triển theme và plugin. Điều này cho phép bạn hiển thị thông tin về taxonomy, như tên, mô tả, số lượng bài viết liên quan, và hơn thế nữa. Bài viết này sẽ hướng dẫn bạn các phương pháp khác nhau để lấy thông tin taxonomy hiện tại trong WordPress một cách hiệu quả.

Các Taxonomy Mặc Định của WordPress

WordPress cung cấp hai taxonomy mặc định mà bạn có thể sử dụng ngay lập tức:

  • Categories (Danh mục): Được sử dụng để nhóm các bài viết theo chủ đề rộng lớn. Categories có tính chất phân cấp, cho phép bạn tạo các category con.
  • Tags (Thẻ): Được sử dụng để gán các từ khóa hoặc nhãn cho các bài viết. Tags không có tính chất phân cấp.

Ngoài ra, WordPress cũng có các taxonomy khác liên quan đến các loại bài viết khác (post types), chẳng hạn như taxonomy post_format cho bài viết và taxonomy attachment cho media.

Lấy Thông Tin Taxonomy Sử Dụng Hàm get_taxonomy()

Hàm get_taxonomy() là hàm chính để lấy thông tin về một taxonomy cụ thể trong WordPress. Hàm này nhận tên của taxonomy làm tham số và trả về một đối tượng chứa thông tin chi tiết về taxonomy đó. Nếu taxonomy không tồn tại, hàm sẽ trả về false.

Ví dụ:


  <?php
  $taxonomy = get_taxonomy( 'category' );

  if ( $taxonomy ) {
    echo 'Tên: ' . $taxonomy->label . '<br>';
    echo 'Tên (số nhiều): ' . $taxonomy->labels->name . '<br>';
    echo 'Mô tả: ' . $taxonomy->description . '<br>';
    echo 'Có tính phân cấp: ' . ( $taxonomy->hierarchical ? 'Có' : 'Không' ) . '<br>';
  } else {
    echo 'Taxonomy không tồn tại.';
  }
  ?>
  

Đoạn code trên sẽ lấy thông tin về taxonomy ‘category’ và hiển thị tên, mô tả và xem liệu nó có tính phân cấp hay không. Bạn có thể thay đổi 'category' thành tên của bất kỳ taxonomy nào khác mà bạn muốn lấy thông tin.

Lấy Danh Sách Tất Cả Các Taxonomy Đã Đăng Ký

Để lấy danh sách tất cả các taxonomy đã đăng ký trong WordPress, bạn có thể sử dụng hàm get_taxonomies(). Hàm này trả về một mảng chứa tên của tất cả các taxonomy.

Ví dụ:


  <?php
  $taxonomies = get_taxonomies();

  echo '<ul>';
  foreach ( $taxonomies as $taxonomy ) {
    echo '<li>' . $taxonomy . '</li>';
  }
  echo '</ul>';
  ?>
  

Đoạn code trên sẽ hiển thị một danh sách không có thứ tự của tất cả các taxonomy đã đăng ký trên trang web của bạn.

Lấy Các Taxonomy Liên Quan Đến Một Post Type Cụ Thể

Bạn có thể lấy danh sách các taxonomy liên quan đến một post type cụ thể bằng cách truyền tên của post type làm tham số cho hàm get_taxonomies().

Ví dụ:


  <?php
  $taxonomies = get_taxonomies( array( 'post_type' => 'post' ) );

  echo '<ul>';
  foreach ( $taxonomies as $taxonomy ) {
    echo '<li>' . $taxonomy . '</li>';
  }
  echo '</ul>';
  ?>
  

Đoạn code trên sẽ hiển thị một danh sách không có thứ tự của tất cả các taxonomy liên quan đến post type ‘post’.

Lấy Thông Tin Taxonomy Cụ Thể Của Một Term

Đôi khi, bạn cần lấy thông tin về taxonomy của một term cụ thể. Bạn có thể làm điều này bằng cách sử dụng hàm get_term() để lấy đối tượng term, sau đó truy cập thuộc tính taxonomy của đối tượng đó.

Ví dụ:


  <?php
  $term = get_term( 1, 'category' ); // 1 là ID của term, 'category' là taxonomy

  if ( $term ) {
    echo 'Taxonomy: ' . $term->taxonomy;
  } else {
    echo 'Không tìm thấy term.';
  }
  ?>
  

Đoạn code trên sẽ lấy thông tin về term có ID là 1 thuộc taxonomy ‘category’ và hiển thị tên của taxonomy.

Sử Dụng Loop để Hiển Thị Thông Tin Về Nhiều Taxonomy

Bạn có thể kết hợp các hàm đã đề cập ở trên để tạo một vòng lặp và hiển thị thông tin về nhiều taxonomy cùng một lúc. Điều này rất hữu ích khi bạn muốn tạo một trang hiển thị tất cả các taxonomy đã đăng ký và thông tin chi tiết về chúng.

Ví dụ:


  <?php
  $taxonomies = get_taxonomies();

  echo '<ul>';
  foreach ( $taxonomies as $taxonomy_name ) {
    $taxonomy = get_taxonomy( $taxonomy_name );

    if ( $taxonomy ) {
      echo '<li><strong>' . $taxonomy->label . '</strong><br>';
      echo 'Tên (số nhiều): ' . $taxonomy->labels->name . '<br>';
      echo 'Mô tả: ' . $taxonomy->description . '<br>';
      echo 'Có tính phân cấp: ' . ( $taxonomy->hierarchical ? 'Có' : 'Không' ) . '<br></li>';
    }
  }
  echo '</ul>';
  ?>
  

Đoạn code trên sẽ hiển thị một danh sách không có thứ tự của tất cả các taxonomy đã đăng ký, cùng với tên, mô tả và thông tin về tính phân cấp của chúng.

Các Tham Số của Hàm get_taxonomies()

Hàm get_taxonomies() chấp nhận một tham số tùy chọn là một mảng các đối số. Các đối số này cho phép bạn lọc danh sách các taxonomy được trả về. Một số đối số phổ biến bao gồm:

  • 'public': Chỉ trả về các taxonomy công khai (có thể truy cập được từ giao diện người dùng). Giá trị mặc định là true.
  • 'show_ui': Chỉ trả về các taxonomy được hiển thị trong giao diện người dùng WordPress. Giá trị mặc định là true.
  • 'post_type': Chỉ trả về các taxonomy liên quan đến post type được chỉ định.

Ví dụ:


  <?php
  $args = array(
    'public'   => true,
    'show_ui'  => true,
  );
  $taxonomies = get_taxonomies( $args );

  // ... hiển thị danh sách taxonomy ...
  ?>
  

Đoạn code trên sẽ chỉ trả về các taxonomy công khai và được hiển thị trong giao diện người dùng WordPress.

Các Phương Pháp Hiển Thị Thông Tin Taxonomy

Có nhiều cách khác nhau để hiển thị thông tin taxonomy, tùy thuộc vào nhu cầu cụ thể của bạn. Một số phương pháp phổ biến bao gồm:

  • Hiển thị trong giao diện người dùng: Sử dụng thông tin taxonomy để tạo các trang archive tùy chỉnh, các widget, hoặc các menu điều hướng.
  • Sử dụng trong các plugin: Sử dụng thông tin taxonomy để lọc và tổ chức nội dung, tạo các tính năng tìm kiếm nâng cao, hoặc tích hợp với các dịch vụ bên ngoài.
  • Hiển thị trong các template: Sử dụng thông tin taxonomy để tùy chỉnh cách hiển thị bài viết, trang hoặc các loại nội dung khác.

Kết Luận

Việc lấy thông tin taxonomy hiện tại trong WordPress là một kỹ năng thiết yếu cho bất kỳ nhà phát triển theme hoặc plugin nào. Bằng cách sử dụng các hàm get_taxonomy()get_taxonomies(), bạn có thể dễ dàng truy cập và hiển thị thông tin chi tiết về taxonomy, giúp bạn tạo ra các trang web WordPress mạnh mẽ và linh hoạt hơn. Hãy nhớ rằng việc hiểu rõ về các taxonomy mặc định và cách tạo taxonomy tùy chỉnh sẽ mở ra nhiều khả năng để tổ chức và quản lý nội dung của bạn một cách hiệu quả.