Các câu hỏi thường gặp nhất mà tôi nhận được về WordPress thường là về các loại bài đăng tùy chỉnh (mà tôi đã trình bày trong Cách tạo các loại bài đăng tùy chỉnh của WordPress) và các phân loại tùy chỉnh, mà chúng ta sẽ giải quyết hôm nay.
Phân loại tùy chỉnh đã được giới thiệu trong WordPress 3.0 như một tính năng cốt lõi và cho phép bạn nhóm các bài đăng lại với nhau bằng nhiều thẻ và danh mục. Ví dụ: nếu bạn điều hành một trang web về sách hoặc phim, bạn có thể sử dụng phép phân loại tùy chỉnh có tên là “Thể loại” và nếu bạn viết về thể thao, bạn có thể sử dụng phép phân loại có tên là “Thể thao”.
Trong bài đăng này, chúng ta sẽ xem xét các đơn vị phân loại tùy chỉnh là gì, cách sử dụng chúng và cách bạn có thể tạo riêng cho mình.
Chúng tôi sẽ đề cập đến những điều sau:
Danh mục, Thẻ, Phân loại và Thuật ngữ là gì?
Có rất nhiều sự nhầm lẫn về sự khác biệt giữa thẻ và danh mục, và cách phân loại phù hợp với tất cả những điều này. Sự nhầm lẫn phát sinh từ thực tế là chúng ta sử dụng từ “phân loại” khi phân loại các mục thành các danh mục nhưng chúng tôi không thực sự có một từ riêng biệt để sắp xếp các mục vào các thẻ hoặc các đơn vị phân loại khác (tagize?). Do đó, bất cứ khi nào chúng tôi chia các mục thành các nhóm, chúng tôi gọi đây là “phân loại”.
Từ “phân loại” là một thuật ngữ chung để chỉ cách sắp xếp các mục dựa trên một thuộc tính tương tự. Các thuật ngữ là thành viên của một phân loại, thuộc tính tương tự dựa trên đó các mục được sắp xếp. “Danh mục” và “Thẻ” đều là một loại phân loại. Các danh mục và thẻ cụ thể là các thuật ngữ bên trong một phân loại. Nếu điều này vẫn chưa rõ ràng, đừng lo lắng, hãy tiếp tục đọc và nó sẽ sớm trở nên rõ ràng hơn!
Về mặt kỹ thuật, không có sự khác biệt giữa các danh mục và thẻ, chỉ có cách chúng tôi sử dụng chúng theo tùy chỉnh. Hầu hết mọi người chỉ sử dụng một vài danh mục, điều này có ý nghĩa vì nó giúp trang web của chúng tôi duyệt dễ dàng hơn nhiều. Chúng tôi thường đi kèm với các thẻ, thêm một vài thẻ vào mỗi bài đăng.
Về mặt kỹ thuật, không có sự khác biệt giữa các danh mục và thẻ, chỉ có cách chúng tôi sử dụng chúng theo tùy chỉnh.
WordPress định nghĩa một danh mục là phân cấp. Điều này có nghĩa là một danh mục có thể là cha của một danh mục khác. Ví dụ: Bạn có thể có “Nghệ thuật” làm danh mục cấp cao nhất và “Nhiếp ảnh”, “Hình minh họa” và “Tranh” làm danh mục phụ. Các thẻ không phân cấp. Trong quản trị, điều này được phản ánh trong giao diện người dùng.
Các danh mục được hiển thị trong một hộp lớn hơn với mỗi danh mục được liệt kê và định vị theo đúng thứ bậc. Chúng có thể được kiểm tra và bỏ chọn để đạt được cấu trúc danh mục cuối cùng. Thẻ ở dạng tự do hơn. Chúng có thể là các loại lỏng lẻo với các đề xuất và nhiều đề xuất có thể được thêm vào bằng cách sử dụng dấu phẩy.
Phân loại được xác định bởi một chủ đề hoặc một plugin và có thể được đặt thành bất kỳ loại nào bạn muốn. Bám sát ví dụ về blog thể thao, có lẽ bạn có một phân loại thứ bậc có tên là “Thể thao”. Điều này chứa các thuật ngữ cấp cao nhất như “Võ thuật”, “Thể thao bóng” và “Điền kinh”. Thuật ngữ võ thuật có thể có một số thuật ngữ phụ như “Karate” và “Taekwondo”.
Bạn cũng có thể muốn sử dụng tên của các vận động viên mà bạn đề cập như một phân loại để có thể dễ dàng liệt kê các mục tin tức liên quan đến những người đó. Bạn có thể tạo phân loại không phân cấp cho việc này. Các thuật ngữ bên trong phân loại này có thể là “Michael Jordan”, “Michael Schumacher” hoặc “Usain Bolt.”
Điều quan trọng là phải hiểu rằng mặc dù có những thực hành tốt ở đây, nhưng cách bạn sử dụng các đơn vị phân loại là tùy thuộc vào bạn. Một trang web tin tức có thể sử dụng các danh mục để chia nội dung thành “Thể thao”, “Kinh doanh” và “Khác”. Một trang web tin tức khác có thể sử dụng cùng một bộ phận, nhưng có thể đặt tên phân loại của chúng là “Loại tin tức” thay vì “Danh mục”.
Tạo phân loại
Bạn sẽ cần viết một số mã để tạo các đơn vị phân loại nhưng đừng lo, tôi sẽ đưa cho bạn các ví dụ mà bạn có thể sao chép và dán. Bạn có thể thêm mã bạn tìm thấy trong bài viết này ở ba vị trí. Nơi tốt nhất để đặt nó là trong một plugin. Bạn có thể tìm hiểu về tạo một plugin trong WordPress Codex.
Nếu bạn đang sử dụng chủ đề của bên thứ ba thì bạn nên tạo một chủ đề con để đảm bảo rằng bạn không sửa đổi các tệp gốc của chủ đề. Kiểm tra bài viết của chúng tôi về Cách tạo một chủ đề trẻ em.
Cách dễ nhất, nhưng ít được đề xuất nhất là sử dụng chủ đề của bạn functions.php
tập tin. Nếu bạn chỉ đang thử nghiệm, hãy thoải mái sử dụng tệp này, chỉ cần lưu ý rằng nếu bạn cập nhật chủ đề của mình, những thay đổi bạn thực hiện sẽ bị mất.
Chúng ta có thể dễ dàng tạo phân loại bằng cách sử dụng register_taxonomy()
chức năng. Đây là một ví dụ cơ bản:
Trong quản trị viên WordPress, nó trông giống như sau:


Đây thực sự là tất cả những gì chúng ta cần làm để có được một phân loại chức năng đầy đủ. Chúng ta có thể tạo phân loại không phân cấp bằng cách thay đổi hierarchical
tài sản để false
. Hãy làm điều đó ngay bây giờ bằng cách tạo phân loại nơi chúng ta có thể chỉ định các vận động viên cho các bài đăng của mình:
Và đây là những gì nó trông giống như trong quản trị viên:


Cả hai ví dụ đều tuyệt vời, nhưng chúng tôi có thể làm được nhiều hơn thế. Trước hết, hãy xem ảnh chụp màn hình và lưu ý từ ngữ. “Thêm danh mục mới”, “Chọn từ các thẻ được sử dụng nhiều nhất,” v.v.
Văn bản không thay đổi để phù hợp với tên của phân loại của chúng tôi. Chúng ta hãy xem xét một số tùy chọn nâng cao mà chúng tôi có sẵn.
Tùy chỉnh phân loại
Các register_taxonomy()
hàm nhận ba tham số. Tham số đầu tiên là slug của phân loại. Thứ hai là một chuỗi xác định slug của loại bài đăng mà nó sẽ được thêm vào hoặc một mảng chuỗi xác định một số loại bài đăng. Tham số thứ ba là một mảng các thuộc tính được sử dụng để thiết lập phân loại.
Nhãn phân loại
Điều đầu tiên chúng ta sẽ thêm vào mảng thuộc tính này là các nhãn được sử dụng. Điều này sẽ điều chỉnh tất cả các văn bản trong mối quan hệ với phân loại.
Chức năng trên thay thế chức năng ban đầu của chúng tôi. Điều duy nhất tôi đã thêm là các nhãn, nhưng đó là một mảng khá lớn do có tất cả các tùy chọn. Đối với tất cả các ví dụ trong tương lai, tôi sẽ bỏ qua các nhãn cho ngắn gọn.
Mức độ hiển thị phân loại
Đôi khi bạn có thể muốn người dùng nhìn thấy các đơn vị phân loại của mình, những lần khác, bạn có thể chỉ muốn sử dụng chúng trong nội bộ. Các đối số cho phép bạn kiểm soát tất cả điều này một cách khá chi tiết. Dưới đây là các tham số có sẵn và các giá trị có thể có của chúng:
public:
Tham số này thiết lập một số tham số khác trong một lần. Nếu nó được đặt thành true, phân loại sẽ có thể truy vấn công khai, có nghĩa là nó được hiển thị cho người dùng trong giao diện người dùng. Nếu được đặt thành false, nó sẽ chỉ được sử dụng trong nội bộ.show_ui:
Khi được đặt thành false, hộp trong ảnh chụp màn hình ở trên sẽ không hiển thị. Các đơn vị phân loại có thể được thêm, truy xuất và sử dụng thông qua mã, nhưng không phải thông qua giao diện người dùng. Theo mặc định, giá trị của tham số này giống với giá trị được đặt chopublic
tham số.show_in_nav_menus:
Nếu tham số này được đặt thành false, bạn sẽ không thể chọn các điều khoản trong phần trình quản lý menu của WordPress. Theo mặc định, giá trị của tham số này giống với giá trị được đặt chopublic
tham số.show_tagcloud:
Tham số này đặt liệu tiện ích đám mây thẻ có thể sử dụng phân loại này hay không. Theo mặc định, giá trị của tham số này giống với giá trị được đặt chopublic
tham số.show_admin_column:
Nếu được đặt thành true, phân loại sẽ hiển thị trong danh sách bài đăng của loại bài đăng mà nó được đính kèm. Theo mặc định, giá trị của tham số này làfalse
.
Hệ thống cấp bậc
Tôi đã đề cập đến hệ thống phân cấp trong phần mở đầu. Các hierarchy
tham số có thể được đặt thành true
hoặc false
. Theo mặc định, các đơn vị phân loại là không phân cấp, vì vậy giá trị được đặt thành false
.
Tôi nghĩ rằng đó là một quy tắc ngón tay cái khá tốt để sử dụng phân loại theo thứ bậc khi bạn sẽ sử dụng một số thuật ngữ đã đặt mà sẽ không thay đổi quá nhiều theo thời gian.
Viết lại các quy tắc
Tôi không muốn đi vào quá nhiều chi tiết vì việc viết lại các quy tắc có thể gây ra nhiều rắc rối hơn mức đáng có. Tuy nhiên, trong một số trường hợp, bạn có thể cần phải điều chỉnh chúng, đặc biệt nếu bạn đang sử dụng các tên phân loại chung. Nếu bạn muốn sử dụng tên phân loại “Xe hơi” nhưng bạn muốn URL sử dụng tên khác, chẳng hạn như “kiểu xe hơi”, bạn có thể sửa đổi các quy tắc viết lại như vậy:
Để tất cả chúng cùng nhau
Một ví dụ đầy đủ sẽ bao gồm tất cả các nhãn của chúng tôi và một số tùy chọn khác được đặt khi cần thiết. Đây là một ví dụ mà tôi sẽ sử dụng trong cuộc sống thực nếu tôi đang triển khai phép phân loại “Vận động viên” của chúng tôi:
Phần kết luận
Trong quá trình của bài viết này, chúng tôi đã xem xét sự khác biệt giữa các danh mục, thẻ, phân loại và thuật ngữ và chúng tôi đã học cách dễ dàng tạo riêng của chúng tôi. Hy vọng rằng bây giờ bạn đã biết khi nào nên tạo các đơn vị phân loại và cách thực hiện.
Nếu bạn cần một phím tắt nhỏ xinh, hãy xem phần này trình tạo phân loạicho phép bạn điền vào biểu mẫu tạo các chức năng cần thiết cho bạn.
Thẻ: