Może być konieczne ukrycie metaboxa. Z pewnością intencją programisty podczas wstawiania metaboxa jest, w wielu przypadkach, ale nie wszystkie, poprawa usługi.
Nie wszyscy webmasterzy doceniają fakt, że prości użytkownicy mogą kontrolować funkcje witryny nawet ze względów bezpieczeństwa. Z mojego punktu widzenia wszystkie dodatki powinny dać możliwość wyboru „za darmo”, jakie elementy sprawiają, że widoczne dla prostych użytkowników.
Niezależnie od motywacji, będę teraz wyjaśnić, jak usunąć metabox super wtyczki socialzer, który znajduje się w panelu edycji artykułów.
W pliku functions.php motywu należy wprowadzić następujący kod:
if (!current_user_can('edit_pages')){
add_action('add_meta_boxes','my_remove_super_socializer',100000);
}
function my_remove_super_socializer_post_metabox(){
remove_meta_box('glossary_post_metabox','post','normal');
}
add_action('admin_menu','wpdocs_remove_post_custom_fields');
if(is_admin()){
add_action('admin_menu','wpdocs_remove_meta_boxes');
}
Polecam utworzenie motywu podrzędnego, ponieważ w przeciwnym razie, jeśli zaktualizujesz motyw, stracisz zmianę
Unikaj używania następującego standardowego kodu, ponieważ daje to problemy:
function remove_my_post_metaboxes(){
remove_meta_box('authordiv','post','normal');
remove_meta_box('commentstatusdiv','post','normal');
remove_meta_box('commentsdiv','post','normal');
remove_meta_box('postcustom','post','normal');
remove_meta_box('postexcerpt','post','normal');
remove_meta_box('revisionsdiv','post','normal');
remove_meta_box('slugdiv','post','normal');
remove_meta_box('trackbacksdiv','post','normal');
remove_meta_box('related_post_metabox','post','high');
}
add_action('admin_menu','remove_my_post_metaboxes');
Testowałem tę zmianę z wersją 7.9.4 wtyczki. Zanim prawie zmienisz to, co upewnij się, że masz kopię zapasową i wiesz, co robisz.