Trong WordPress, các nguyên tắc phân loại cho phép bạn sắp xếp linh hoạt nội dung của mình theo các danh mục có thẻ và hơn thế nữa. Tuy nhiên, khi xác định các nguyên tắc phân loại tùy chỉnh, bạn có thể không nhận được hành vi mong muốn ngay lập tức. Trong bài viết này, Kỹ sư phần mềm tự do Toptal Rodrigo Donini chỉ ra cách có thể triển khai các nguyên tắc phân loại tùy chỉnh độc quyền trong WordPress để phân loại bài đăng nghiêm ngặt
Qua
Rodrigo Donini
Rodrigo có 17 năm kinh nghiệm trong các dự án web và di động. Anh ấy có nền tảng kiến thức vững chắc về thế giới WordPress
CHIA SẺ
CHIA SẺ
WordPress, một trong những hệ thống quản lý nội dung và viết blog nguồn mở mạnh mẽ nhất, đang được sử dụng để cung cấp năng lượng cho một phần lớn của các mạng nội bộ. Có tới một phần tư tất cả các trang web chạy WordPress và không thiếu nhu cầu về các dịch vụ phát triển WordPress
Không giống như nhiều CMS khác, WordPress được nhiều người yêu thích vì tính linh hoạt và khả năng tùy biến của nó. Phân loại, một trong những tính năng cốt lõi của WordPress, cho phép bạn tổ chức nội dung theo cách bạn cần. Mặc dù được tích hợp sẵn một số nguyên tắc phân loại mặc định, nhưng WordPress cho phép bạn thêm bao nhiêu nguyên tắc phân loại tùy chỉnh tùy thích
Tuy nhiên, để các nguyên tắc phân loại hoạt động chính xác theo cách bạn muốn có thể yêu cầu bạn phải loay hoay với một số cách tiếp cận không có giấy tờ
Trong bài viết này, bạn sẽ tìm hiểu cách bạn có thể xác định các nguyên tắc phân loại tùy chỉnh độc quyền trong WordPress hoạt động giống như danh mục hơn là thẻ, cho phép bạn phân loại bài đăng của mình nghiêm ngặt hơn nhiều so với khả năng của bạn.
Phân loại là gì?
Theo bộ mã WordPress
Phân loại là một cách để nhóm mọi thứ lại với nhau
Ví dụ, một loạt các loại trái cây khác nhau có thể được nhóm lại với nhau theo các đặc điểm khác nhau và sau đó các nhóm đó có thể được đặt tên
Trong WordPress, các nguyên tắc phân loại được sử dụng để nhóm các bài đăng, trang và thậm chí các loại bài đăng tùy chỉnh theo các nhóm khác nhau
Tên của các nhóm khác nhau trong phân loại được gọi là thuật ngữ. Lấy trái cây làm ví dụ và cách chúng có thể được nhóm lại dựa trên màu sắc của chúng. Trong trường hợp này, tên của các màu khác nhau sẽ là thuật ngữ
Theo mặc định, WordPress được tích hợp sẵn bốn nguyên tắc phân loại. danh mục, thẻ, danh mục liên kết và định dạng bài đăng. Bạn có thể tìm hiểu thêm về các nguyên tắc phân loại mặc định tại đây
Trong số các nguyên tắc phân loại tích hợp này, danh mục và thẻ rất giống nhau nhưng có một điểm khác biệt quan trọng. Danh mục là các nguyên tắc phân loại độc quyền [i. e. , đối với mỗi bài đăng, bạn có thể chọn nhiều nhất một danh mục] trong khi mỗi bài đăng có thể được gán nhiều thẻ
Hơn nữa, các danh mục thường được xác định trước, trong khi các thẻ có thể được xác định khi bạn tiếp tục
Xác định phân loại tùy chỉnh
Bạn có thể xác định phân loại tùy chỉnh bằng hàm
register_taxonomy[ 'custom_taxonomy', 'post', array[
'labels' => array[
'name' => 'Custom Exclusive Taxonomy'
],
'show_in_quick_edit' => false,
'meta_box_cb' => false
]];
5. Bạn có thể tìm hiểu thêm về chức năng tại đâyĐể xem chức năng này hoạt động như thế nào, hãy để chúng tôi xác định phân loại tùy chỉnh cho các bài đăng có ảnh phong cảnh
function view_init[] {
register_taxonomy[
'view',
'post',
array[
'label' => __[ 'View' ],
'capabilities' => array[
'assign_terms' => 'edit_guides',
'edit_terms' => 'publish_guides'
]
]
];
}
add_action[ 'init', 'view_init' ];
Trong đoạn mã trên, chúng tôi đang xác định một phân loại mới cho các bài đăng được gọi là chế độ xem
Bạn có thể nghĩ về cách phân loại này được sử dụng để phân loại ảnh dựa trên loại hoặc tính chất của chế độ xem có trong ảnh [e. g. , núi, hồ hoặc rừng]
Như thường lệ, các bài đăng thuộc về các điều khoản cụ thể của danh mục này sẽ xuất hiện trong /view/{view_name}
Dòng khả năng trong đoạn mã trên là tùy chọn. Không có nó, WordPress sẽ mặc định các khả năng cho cùng một người dùng như bài đăng. Như được hiển thị ở trên, điều này sẽ cho phép bất kỳ người dùng nào có khả năng “edit_guides” tùy chỉnh chỉ định phân loại cho bài đăng và bất kỳ người dùng nào có khả năng “publish_guides” tùy chỉnh để tạo các mục phân loại mới
Theo tài liệu chính thức, có bốn khả năng có thể được xác định
Các khả năng phân loại bao gồm
6,register_taxonomy[ 'custom_taxonomy', 'post', array[ 'labels' => array[ 'name' => 'Custom Exclusive Taxonomy' ], 'show_in_quick_edit' => false, 'meta_box_cb' => false ]];
7,register_taxonomy[ 'custom_taxonomy', 'post', array[ 'labels' => array[ 'name' => 'Custom Exclusive Taxonomy' ], 'show_in_quick_edit' => false, 'meta_box_cb' => false ]];
8 [hiển thị phân loại trong điều hướng quản trị viên] vàregister_taxonomy[ 'custom_taxonomy', 'post', array[ 'labels' => array[ 'name' => 'Custom Exclusive Taxonomy' ], 'show_in_quick_edit' => false, 'meta_box_cb' => false ]];
9register_taxonomy[ 'custom_taxonomy', 'post', array[ 'labels' => array[ 'name' => 'Custom Exclusive Taxonomy' ], 'show_in_quick_edit' => false, 'meta_box_cb' => false ]];
Cách phân loại được sử dụng
Trong mã của mình, bạn có thể sử dụng hàm
register_taxonomy[ 'custom_taxonomy', 'post', array[
'labels' => array[
'name' => 'Custom Exclusive Taxonomy'
],
'show_in_quick_edit' => false,
'meta_box_cb' => false
]];
0 để thêm thuật ngữ vào đối tượng bằng cách sử dụng phân loại. Bạn có thể liệt kê các thuật ngữ hiện có bằng hàm register_taxonomy[ 'custom_taxonomy', 'post', array[
'labels' => array[
'name' => 'Custom Exclusive Taxonomy'
],
'show_in_quick_edit' => false,
'meta_box_cb' => false
]];
1. Ngoài ra, bạn có thể sử dụng hàm register_taxonomy[ 'custom_taxonomy', 'post', array[
'labels' => array[
'name' => 'Custom Exclusive Taxonomy'
],
'show_in_quick_edit' => false,
'meta_box_cb' => false
]];
2 để tạo một đám mây thuật ngữ cho phân loại tùy chỉnh của mình. Bạn có thể tìm hiểu thêm về các chức năng này tại đâyVề phía giao diện người dùng, WordPress tạo một hộp meta mới trên các bài đăng cho mọi phân loại. Hộp meta tương tự như hộp meta Thẻ cho phép bạn liên kết một hoặc nhiều thuật ngữ với bài đăng của mình. Đây là những gì WordPress làm theo mặc định và đây là những gì chúng ta có thể thay đổi bằng cách tạo ra một phân loại độc quyền. Làm cho phân loại tùy chỉnh hoạt động giống như phân loại danh mục
Buộc độc quyền về phân loại
Khi chúng tôi tạo một phân loại tùy chỉnh bằng phương pháp
register_taxonomy[ 'custom_taxonomy', 'post', array[
'labels' => array[
'name' => 'Custom Exclusive Taxonomy'
],
'show_in_quick_edit' => false,
'meta_box_cb' => false
]];
5, WordPress sẽ thêm một hộp meta với nhiều lựa chọn mục vào trang chỉnh sửa bài đăngSử dụng hộp meta này, người dùng có thể chọn bất kỳ số lượng thuật ngữ hiện có [đã được sử dụng] nào và cũng có thể thêm các thuật ngữ mới bằng cách sử dụng hộp văn bản
Để tạo phân loại giống như danh mục, trong đó mỗi bài đăng thuộc về nhiều nhất một danh mục từ một tập hợp các danh mục được xác định trước, bạn có thể làm như vậy bằng cách điều chỉnh một chút WordPress
- Ẩn hộp meta mặc định được tạo bởi WordPress
- Tạo một hộp meta tùy chỉnh trên trang chỉnh sửa bài đăng sẽ cung cấp các điều khiển để chọn một mục
- Lưu giá trị phân loại khi bài đăng được lưu
Hãy xem xét từng bước
Ẩn Hộp Meta Mặc định được tạo bởi WordPress
Đối với điều này, chúng ta cần đặt các tùy chọn
register_taxonomy[ 'custom_taxonomy', 'post', array[
'labels' => array[
'name' => 'Custom Exclusive Taxonomy'
],
'show_in_quick_edit' => false,
'meta_box_cb' => false
]];
4 và register_taxonomy[ 'custom_taxonomy', 'post', array[
'labels' => array[
'name' => 'Custom Exclusive Taxonomy'
],
'show_in_quick_edit' => false,
'meta_box_cb' => false
]];
5 thành register_taxonomy[ 'custom_taxonomy', 'post', array[
'labels' => array[
'name' => 'Custom Exclusive Taxonomy'
],
'show_in_quick_edit' => false,
'meta_box_cb' => false
]];
6 khi gọi register_taxonomy[ 'custom_taxonomy', 'post', array[
'labels' => array[
'name' => 'Custom Exclusive Taxonomy'
],
'show_in_quick_edit' => false,
'meta_box_cb' => false
]];
7Tùy chọn đầu tiên ẩn phân loại trong bảng chỉnh sửa nhanh/hàng loạt và tùy chọn thứ hai ẩn nó trong trang chỉnh sửa bài đăng
register_taxonomy[ 'custom_taxonomy', 'post', array[
'labels' => array[
'name' => 'Custom Exclusive Taxonomy'
],
'show_in_quick_edit' => false,
'meta_box_cb' => false
]];
Khi hộp meta mặc định bị ẩn, các mục có thể được thêm vào tập hợp các điều khoản có sẵn của phân loại thông qua trang quản lý phân loại
Tạo Hộp meta tùy chỉnh trên Trang chỉnh sửa bài đăng
Để tạo một hộp meta tùy chỉnh, chúng ta có thể sử dụng hook WordPress
register_taxonomy[ 'custom_taxonomy', 'post', array[
'labels' => array[
'name' => 'Custom Exclusive Taxonomy'
],
'show_in_quick_edit' => false,
'meta_box_cb' => false
]];
8. Bạn có thể tìm hiểu thêm về hook tại đâyregister_taxonomy[ 'custom_taxonomy', 'post', array[
'labels' => array[
'name' => 'Custom Exclusive Taxonomy'
],
'show_in_quick_edit' => false,
'meta_box_cb' => false
]];
0Chúng tôi gọi phương thức
register_taxonomy[ 'custom_taxonomy', 'post', array[
'labels' => array[
'name' => 'Custom Exclusive Taxonomy'
],
'show_in_quick_edit' => false,
'meta_box_cb' => false
]];
9 với các đối số sau
00 – ID của hộp metaregister_taxonomy[ 'custom_taxonomy', 'post', array[ 'labels' => array[ 'name' => 'Custom Exclusive Taxonomy' ], 'show_in_quick_edit' => false, 'meta_box_cb' => false ]];
01 – Tiêu đề của hộp metaregister_taxonomy[ 'custom_taxonomy', 'post', array[ 'labels' => array[ 'name' => 'Custom Exclusive Taxonomy' ], 'show_in_quick_edit' => false, 'meta_box_cb' => false ]];
02 – Một chức năng được sử dụng để điền nội dung của hộp metaregister_taxonomy[ 'custom_taxonomy', 'post', array[ 'labels' => array[ 'name' => 'Custom Exclusive Taxonomy' ], 'show_in_quick_edit' => false, 'meta_box_cb' => false ]];
03 – Điều này cho biết rằng hộp meta sẽ xuất hiện trên trang chỉnh sửa bài đăngregister_taxonomy[ 'custom_taxonomy', 'post', array[ 'labels' => array[ 'name' => 'Custom Exclusive Taxonomy' ], 'show_in_quick_edit' => false, 'meta_box_cb' => false ]];
04 – Điều này cho biết vị trí mà hộp meta sẽ được chèn vàoregister_taxonomy[ 'custom_taxonomy', 'post', array[ 'labels' => array[ 'name' => 'Custom Exclusive Taxonomy' ], 'show_in_quick_edit' => false, 'meta_box_cb' => false ]];
Lưu ý cách chúng tôi chỉ định
register_taxonomy[ 'custom_taxonomy', 'post', array[
'labels' => array[
'name' => 'Custom Exclusive Taxonomy'
],
'show_in_quick_edit' => false,
'meta_box_cb' => false
]];
00 làm ID. Tuy nhiên, chính chức năng trong tham số thứ ba sẽ cho phép chúng ta xác định những gì sẽ đi vào hộpBây giờ chúng ta sẽ triển khai hàm
register_taxonomy[ 'custom_taxonomy', 'post', array[
'labels' => array[
'name' => 'Custom Exclusive Taxonomy'
],
'show_in_quick_edit' => false,
'meta_box_cb' => false
]];
02register_taxonomy[ 'custom_taxonomy', 'post', array[
'labels' => array[
'name' => 'Custom Exclusive Taxonomy'
],
'show_in_quick_edit' => false,
'meta_box_cb' => false
]];
9Ở đây, trước tiên chúng tôi truy xuất tất cả các điều khoản [i. e. , giá trị hiện có] của phân loại. Chúng tôi sẽ sử dụng chúng để hiển thị danh sách các điều khiển nút radio
Tiếp theo, chúng tôi truy xuất thuật ngữ phân loại hiện được chọn bằng hàm
register_taxonomy[ 'custom_taxonomy', 'post', array[
'labels' => array[
'name' => 'Custom Exclusive Taxonomy'
],
'show_in_quick_edit' => false,
'meta_box_cb' => false
]];
07—chúng tôi cần nó để chọn nút radio tương ứngLưu ý rằng hàm này trả về một mảng. Điều này là do, theo mặc định, bài đăng có thể có bất kỳ số lượng thuật ngữ nào được liên kết với nó. Theo giả định của chúng tôi, bài đăng có nhiều nhất một thuật ngữ, vì vậy chúng tôi truy cập phần tử mảng đầu tiên. [Mảng trống cũng không sao; chúng ta sẽ lấy ____108 làm giá trị hiện tại và sẽ không có nút radio nào được chọn. ]
Mã phát HTML sử dụng
register_taxonomy[ 'custom_taxonomy', 'post', array[
'labels' => array[
'name' => 'Custom Exclusive Taxonomy'
],
'show_in_quick_edit' => false,
'meta_box_cb' => false
]];
09 làm tên của các nút radio và ID thuật ngữ tương ứng làm giá trị của chúng; . Kết quả là, chúng tôi nhận được hộp meta tùy chỉnh sauLưu giá trị phân loại khi bài đăng được lưu
Cuối cùng, chúng ta cần duy trì giá trị phân loại khi bài đăng được lưu. Đối với điều này, chúng ta có thể sử dụng móc
register_taxonomy[ 'custom_taxonomy', 'post', array[
'labels' => array[
'name' => 'Custom Exclusive Taxonomy'
],
'show_in_quick_edit' => false,
'meta_box_cb' => false
]];
90register_taxonomy[ 'custom_taxonomy', 'post', array[
'labels' => array[
'name' => 'Custom Exclusive Taxonomy'
],
'show_in_quick_edit' => false,
'meta_box_cb' => false
]];
4Và đó là nó. Chúng ta xong rồi
Bây giờ bạn đã biết cách xác định phân loại tùy chỉnh sẽ hoạt động giống như phân loại danh mục được tích hợp sẵn
Ghi chú. WordPress đã chấp nhận một yêu cầu tính năng để giúp dễ dàng chuyển đổi tính độc quyền cho các nguyên tắc phân loại tùy chỉnh. Tuy nhiên, vé đã không thấy nhiều hoạt động trong một thời gian
Gói [lại
Phân loại là một tính năng rất mạnh mẽ và hữu ích trong WordPress. Ngoài hộp, họ thiếu khả năng phân loại nghiêm ngặt các bài đăng, nhưng như với hầu hết mọi thứ trong WordPress, các nguyên tắc phân loại và chức năng liên quan có thể tùy chỉnh cực kỳ cao. Điều này cho phép chúng tôi thêm khả năng thường cần thiết này trong một vài bước
Cách tiếp cận được giới thiệu ở đây cũng có thể được sử dụng để tạo giao diện người dùng tùy chỉnh hơn nữa trên các trang chỉnh sửa bài đăng để lựa chọn thuật ngữ phân loại
Tôi hy vọng bạn thấy hướng dẫn nhanh này về cách xác định các nguyên tắc phân loại tùy chỉnh độc quyền là hữu ích
Hiểu những điều cơ bản
Phân loại WordPress là gì?
Trong WordPress, phân loại là cách nhóm các bài đăng và trang theo các thuật ngữ khác nhau với các đặc điểm chung
thẻ
Phân loại WordPressNgười làm việc tự do? Tìm công việc tiếp theo của bạn.
Công việc lập trình viên WordPress
Xem thông tin đầy đủ
Rodrigo Donini
Kỹ sư phần mềm tự do
Giới thiệu về tác giả
Rodrigo là một nhà phát triển chuyên sản xuất các dự án kỹ thuật số cho các đại lý trên khắp thế giới. Ông có 18 năm kinh nghiệm sử dụng các phương pháp và công nghệ khác nhau trong hầu hết các dự án web và di động. Anh ấy có nền tảng kiến thức vững chắc về thế giới WordPress và rất gắn bó với cộng đồng. xây dựng các chủ đề tùy chỉnh, plugin và các tùy chỉnh cốt lõi. Anh ấy chuyên về WordPress, phát triển cho back-end front-end và quản lý các dự án kỹ thuật số
Thuê Rodrigo
Bình luận
tutomena. com
Cảm ơn bạn. hướng dẫn tốt
tutomena. com
Cảm ơn bạn. hướng dẫn tốt
Chris Marshall
Mặc dù mỗi trang web đều khác nhau, nhưng bạn có thể muốn các Thẻ noindex. Danh mục lập chỉ mục là tốt, đặc biệt là khi nói đến các trang web thương mại điện tử. Hãy nhớ rằng Danh mục được phân cấp và Thẻ không được phân cấp