Bạn có thể sử dụng remove_submenu_page()
- tuy nhiên, thủ thuật là để có được con sên chính xác, để làm điều này, cách dễ nhất là đổ toàn bộ $ menu phụ chung và kiểm tra menu_slug và submenu_slug.
global $submenu;
var_dump($submenu);
Điều này sẽ cung cấp cho bạn một loạt các menu, khóa cấp cao nhất là menu_slug và sau đó có thể tìm thấy submenu_slug chính xác trong phần tử 2 của các mảng lồng nhau.
Vì vậy, nếu tôi đã có một loại bài tùy chỉnh được gọi là "my_events" và tôi muốn loại bỏ menu thẻ từ nó, cấu trúc menu ban đầu của tôi sẽ trông như thế này
...
'edit.php?post_type=my_events' =>
array
5 =>
array
0 => string 'All Events' (length=10)
1 => string 'edit_posts' (length=10)
2 => string 'edit.php?post_type=my_events' (length=28)
10 =>
array
0 => string 'Add New' (length=7)
1 => string 'edit_posts' (length=10)
2 => string 'post-new.php?post_type=my_events' (length=32)
15 =>
array
0 => string 'Tags' (length=4)
1 => string 'manage_categories' (length=17)
2 => string 'edit-tags.php?taxonomy=post_tag&post_type=my_events' (length=55)
...
Từ đây bạn có thể thấy rằng menu_slug là 'edit.php?post_type=my_events'
và thanh menu phụ cho trình đơn thẻ là 'edit-tags.php?taxonomy=post_tag&post_type=my_events'
.
Vì vậy, loại bỏ chức năng gọi sẽ là:
remove_submenu_page('edit.php?post_type=my_events', 'edit-tags.php?taxonomy=post_tag&post_type=my_events');
Lưu ý rằng sên menu con được html mã hóa nên dấu và tại là &
- điều này có lẽ là điều mà đã làm cho nó khó khăn cho mọi người làm việc ra khỏi nguyên tắc đầu tiên tên slug nên là gì.
Nó hơi bẩn. Tôi hy vọng cho nó để làm việc với remove_submenu_page(), nhưng vì nó là chỉ (làm việc) câu trả lời bạn nhận được câu trả lời được chấp nhận :-) –