Cách xóa danh sách + Thêm danh mục mới Liên kết từ một danh mục Metabox


9

Bên trong siêu dữ liệu danh mục Wordpress hoặc bất kỳ hộp phân loại tùy chỉnh nào cho vấn đề đó có liên kết với văn bản "+ Thêm danh mục mới", có cách nào để liên kết này có thể được gỡ bỏ mà không cần dùng đến các bản hack của JS hoặc CSS để ẩn nó không? Một cách để ẩn nó bằng cách sử dụng một số loại bộ lọc hoặc móc hành động sẽ là tốt nhất.

Nếu không có hook hành động hoặc phương thức bộ lọc nào tồn tại để loại bỏ nó, tôi sẽ mở các giải pháp JS và CSS như là phương sách cuối cùng.

Lý do tôi làm điều này là vì tôi có cài đặt Wordpress được tích hợp với Magento và tôi đang tạo và điền vào một phân loại tùy chỉnh được gọi là "nhãn hiệu" với danh sách các nhãn hiệu từ cơ sở dữ liệu Magento để có thể gán bài cho một thương hiệu. Rõ ràng điều này có nghĩa là tôi không muốn người dùng có thể thêm vào các điều khoản của riêng họ và chỉ có thể chọn các thương hiệu được thêm vào một cách linh hoạt để giữ cho nó không đồng bộ với Magento.

Cảm ơn bạn.

Câu trả lời:


14

Các metabox mặc định được đăng ký trong tệp wp-admin/includes/meta-boxes.php. Ở đó bạn có thể tìm thấy chức năng post_categories_meta_box()sẽ tạo ra metabox phân loại. Hiện tại không có móc có sẵn để lọc đầu ra. Nhưng bạn có thể làm một trong những điều sau đây:

  1. Sử dụng remove_meta_box()để loại bỏ metabox danh mục hiện có và đăng ký của riêng bạn với add_meta_box(). Sao chép và dán mã hiện có vào chức năng metabox mới của bạn và xóa khối mã từ dòng 345sang 367.
  2. Cách sạch hơn: Loại bỏ edit_termskhả năng khỏi vai trò người dùng của bạn với remove_cap(). Nếu bạn tìm trong hàm metabox, trên dòng 345bạn có thể thấy câu lệnh if kiểm tra xem người dùng có khả năng hay không edit_terms. Nếu vậy, + Add New XYsẽ được hiển thị. Vấn đề ở đây, tên của khả năng là động và có thể là bất cứ điều gì. Nếu ai đó đăng ký phân loại với cách đặt tên khả năng khác, điều này có thể sẽ không hoạt động (chưa được kiểm tra).

1
À, vâng. Khả năng là một cách tốt đẹp thực sự. Tuy nhiên, tôi không muốn loại bỏ khả năng này khỏi các nguyên tắc phân loại khác. Tôi quyết định ẩn liên kết với một số CSS lỗi thời là lựa chọn dễ nhất. Cảm ơn vì những gợi ý tuyệt vời.
Dwayne Charrington

2
Tôi không thể nhận xét về bài đăng của rofflox, nhưng khả năng dường như đã được thay đổi thành "Manage_clists"
pkmatte

Cảm ơn bạn! Đây là phương pháp tốt nhất tôi có thể tìm thấy, tôi đang sử dụng phương pháp này trên nhiều trang vì vậy sử dụng khả năng "setup_network" để hạn chế quản trị viên trang sử dụng các khả năng này cho phân loại được thêm bởi một plugin cần được duy trì.
Sam
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.