Sự khác biệt giữa các nguyên tắc phân loại phân cấp và không phân cấp?


34

Câu hỏi là "Sự khác biệt giữa các nguyên tắc phân loại phân cấp và không phân cấp là gì?" Câu hỏi này thực sự làm tôi bối rối lúc đầu vì vậy tôi nghĩ rằng sẽ là một ý tưởng tốt để thể hiện sự khác biệt với những người khác đang lướt trang web để tìm sự khác biệt.

Cụ thể câu hỏi đang đề cập đến hierarchicalđối số được truyền cho register_taxonomy()hàm. Cụ thể hơn, sự khác biệt giữa cái này là gì:

'phân cấp' => sai

register_taxonomy('movie-genre', 'movie', array(
  'hierarchical'    => false,
  'label'           => 'Genre',
  'query_var'       => 'movie-genre',
  'rewrite'         => array('slug' => 'genres' ),
));

Và cái này?

'phân cấp' => đúng

register_taxonomy('movie-genre', 'movie', array(
  'hierarchical'    => true,
  'label'           => 'Genre',
  'query_var'       => 'movie-genre',
  'rewrite'         => array('slug' => 'genres' ),
));

Lưu ý Tôi sẽ tiếp tục và trả lời câu hỏi của riêng mình nhưng sẽ không đánh dấu nó là tốt nhất trừ khi không có ai khác bước lên với một câu trả lời thực sự tốt. Ngoài ra cảm giác ruột của tôi nói với tôi rằng tôi có thể không nắm bắt được mọi sự phân biệt giữa hai sự phân đôi vì vậy nếu không xin vui lòng cho chúng tôi biết những gì tôi đã bỏ lỡ.


Bạn cũng có thể giải thích những gì được phân cấp để những gì? Là phân loại nhóm phân cấp cho loại bài? Hay là phân loại cá nhân phân cấp cho nhóm phân loại? Tôi đoán là tôi đã bỏ qua thứ bậc từ tôi đoán. Cảm ơn.
Dave

Câu trả lời:


42

Các câu trả lời đơn giảntừ ngữ trong nguyên tắc phân loại theo cấp bậc có thể có về con . Nhưng còn gì nữa không?

'phân cấp' => sai

Khi bạn chỉ định, 'hierarchical'=>falsebạn sẽ nhận được loại metabox sau đây là định dạng metabox mà WordPress cũng sử dụng cho Thẻ bài :

Thuật ngữ phân loại thuật ngữ Metabox trong màn hình chỉnh sửa bài đăng khi $ phân cấp == false

'phân cấp' => đúng

Tuy nhiên, khi bạn chỉ định, 'hierarchical'=>truebạn sẽ nhận được loại metabox sau đây là định dạng metabox mà WordPress cũng sử dụng cho Danh mục :

Metabox Thuật ngữ phân loại trong màn hình chỉnh sửa bài đăng khi $ phân cấp == true

Tất nhiên ví dụ trên cũng chỉ ra nơi phân loại phân cấp có thể là một chút hỗn hợp vì trong các danh mục con trong cuộc sống thực thường áp dụng cho nhiều danh mục chính. Mặc dù vậy, việc "nhiều phụ huynh" không phải là cách các phân loại phân cấp hoạt động trong WordPress nhưng IMO phân loại mọi thứ hoàn hảo gần như là không thể, bất kể WordPress hoạt động như thế nào. Vì vậy, Caveat Emptor!

Trên Đăng ký phân loại tùy chỉnh hoặc "Tại sao không lưu?"

Mặc dù không liên quan trực tiếp đến câu hỏi nếu bạn là người mới thử các phân loại tùy chỉnh, ( hoặc một nhà phát triển có kinh nghiệm không chú ý như đã xảy ra với tôi khi tôi viết bài này! ) Có khả năng bạn sẽ thử thêm register_taxonomy()như mã bạn thấy trong câu hỏi trực tiếp vào functions.phptập tin của chủ đề của bạn . Rất tiếc!

Nếu bạn thêm mã trực tiếp vào functions.phpmetabox của mình sẽ hiển thị nhưng nó sẽ không lưu các điều khoản mới được thêm vào của bạn (và 'heirarchical'=>truedưới dạng metabox, các điều khoản hiện tại của bạn sẽ không tải với các hộp kiểm.) Đó là vì bạn cần phải đăng ký phân loại tùy chỉnh ( và các loại bài tùy chỉnh) bên trong một initcái móc, như vậy:

<?php
add_action('init','register_movie_genre_taxonomy');
  function register_movie_genre_taxonomy() {
    register_taxonomy('movie-genre', 'movie', array(
      'hierarchical'    => true,
      'label'           => 'Movie Genre',
      'query_var'       => 'movie-genre',
      'rewrite'         => array('slug' => 'genres' ),
    ));
}

Hi vọng điêu nay co ich!


Là một phân loại phân cấp giống như một thể loại tùy chỉnh? Và một phân loại không phân cấp có giống như một thẻ tùy chỉnh không?
Daniel

1
@ ravensfan55222 - Không chính xác, nhưng gần như vậy. Thay vì "phân loại phân cấp" giống như một danh mục tùy chỉnh, hệ thống phân loại Danh mục tích hợp chỉ là một trong nhiều phân loại phân cấp tiềm năng. Tương tự (Bài đăng) Thẻ chỉ là một ví dụ về phân loại không phân cấp. Chính xác hơn, "phân cấp" chỉ là một thuộc tính của phân loại, giống như cách nhãn là một thuộc tính chính của phân loại hoặc màu sắc là một thuộc tính của ô tô. Đó có thể là những gì bạn muốn nói nhưng tôi muốn làm rõ nếu không.
MikeSchinkel
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.