Xóa danh mục / thẻ khỏi menu quản trị


8

Tôi muốn xóa hoặc ẩn menu con Danh mục / Thẻ trong Bài đăng trong Menu Quản trị. Tôi biết điều này hoạt động với các menu con chủ đề:

remove_submenu_page( 'themes.php', 'widgets.php' );

Điều tương tự không có vẻ làm việc cho các bài viết không may:

remove_submenu_page( 'edit.php', 'edit-tags.php' );

Tôi đang sử dụng hành động admin_menu: add_action( 'admin_menu', 'function_call' )

Tôi có cần thêm cái gì khác không?


2
Upvote câu hỏi này, bạn bá đạo !!!
Spencer Williams

Câu trả lời:


13
add_action('admin_menu', 'my_remove_sub_menus');

function my_remove_sub_menus() {
    remove_submenu_page('edit.php', 'edit-tags.php?taxonomy=category');
    remove_submenu_page('edit.php', 'edit-tags.php?taxonomy=post_tag');
}

Tôi không thấy điều này ẩn các khu vực thẻ và danh mục trong phần Chỉnh sửa nhanh, nhưng tôi làm remove_meta_boxviệc như mô tả.
Spencer Williams

Đây không phải là phương pháp ưa thích, giống như loại bỏ chúng bằng css, không đảm bảo bất cứ điều gì. kiểm tra câu trả lời mbacon40, nó có vẻ hứa hẹn.
jnhghy - Alexandru Jantea

@ jnhghy-JanteaAlexandru remove_submenu_pagenào không sử dụng CSS để loại bỏ các menu con, nó loại bỏ các hình thức nhập mảng global menu (xem mã nguồn ) để đánh dấu HTML cho trình đơn không trả lại gì cả (và không CSS-ẩn). Tuy nhiên, sự thật là trong một số trường hợp, điều đó có thể không ngăn người dùng truy cập trực tiếp vào màn hình cho menu con bị xóa (xem vé # 18850 ) nhưng OP đã yêu cầu xóa menu và đó cách để đi.
gmazzap

@gmazzap Tôi đang làm một so sánh. Loại bỏ nó theo cách này sẽ không đảm bảo các thẻ không được thêm bằng các phương tiện khác (giao diện người dùng), tôi đã cố gắng chỉ ra rằng điều này chỉ xóa mục nhập menu và không kết nối loại bài với phân loại. :)
jnhghy - Alexandru Jantea

7

Nếu bạn muốn xóa hoàn toàn danh mục và thẻ, bạn có thể làm như vậy:

// Remove Categories and Tags
add_action('init', 'myprefix_remove_tax');
function myprefix_remove_tax() {
    register_taxonomy('category', array());
    register_taxonomy('post_tag', array());
}

5

Bạn cũng có thể muốn xóa các hộp meta khỏi trang Tạo bài

// REMOVE POST META BOXES
function remove_my_post_metaboxes() {
  remove_meta_box( 'categorydiv','post','normal' ); // Categories Metabox
  remove_meta_box( 'tagsdiv-post_tag','post','normal' ); // Tags Metabox
}
add_action('admin_menu','remove_my_post_metaboxes');

1

Nhờ @ mbacon40 và @gmazzap, tôi đã có thể sử dụng điều này để xóa Thẻ và Danh mục sản phẩm (Product_tag và sản phẩm_cat) khỏi menu của tôi và từ các trang thêm / chỉnh sửa sản phẩm.

// Remove Categories and Tags
add_action('init', 'myprefix_remove_tax');
function myprefix_remove_tax() {
    register_taxonomy('product_cat', array());
    register_taxonomy('product_tag', array());
}

add_action('admin_menu', 'my_remove_sub_menus');
function my_remove_sub_menus() {
    remove_submenu_page('edit.php', 'edit-tags.php?    taxonomy=product_cat&post_type=product');
    remove_submenu_page('edit.php', 'edit-tags.php?    taxonomy=product_tag&post_type=product');
}

0

vì một số lý do, edit.php không hoạt động trong thiết lập của tôi 5.3

Điều này tuy nhiên hoạt động

remove_submenu_page( 'edit-tags.php?taxonomy=category', 'edit-tags.php?taxonomy=post_tag' );
remove_submenu_page( 'edit-tags.php?taxonomy=category', 'edit-tags.php?taxonomy=category' );
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.