Mam następujący kod, który czyści wiele rzeczy, które nie będą używane w obszarze administracyjnym:
add_action( 'admin_menu', 'my_remove_menu_pages' );
function my_remove_menu_pages() {
remove_menu_page( 'edit.php' ); //Posts
remove_menu_page( 'upload.php' ); //Media
remove_menu_page( 'edit-comments.php' ); //Comments
remove_menu_page( 'themes.php' ); //Appearance
remove_menu_page( 'users.php' ); //Users
remove_menu_page( 'tools.php' ); //Tools
remove_menu_page( 'options-general.php' ); //Settings
};
Istnieją jednak dwa elementy menu, które zostały wstawione z wtyczek.
Po najechaniu myszką na każdą pozycję menu pojawia się link:
/wp-admin/edit.php?post_type=acf
/wp-admin/admin.php?page=wpcf7
Czy można też ukryć te strony menu?
Odpowiedzi:
Musisz użyć odpowiednich haków (które nie zawsze są takie same jak adresy URL / ślimaki) i nie zaszkodzi użyć haka, który działa później (np.
admin_init
):Do debugowania można użyć następujących elementów:
To daje (dla mojej konfiguracji) następujące informacje na stronie menu wtyczki Contact Form 7:
Element tablicy z kluczem
2
jest to, czego szukasz:wpcf7
.źródło
remove_menu_page()
Ogromną pomocą było pokazanie, jak zrzucić menu i znaleźć, z czego można korzystać - nauczył mnie, jak łowić ryby, a nie tylko wręczać mi ryby!MOŻESZ ODPOWIEDZIEĆ WSZYSTKO, PONIŻSZE, ABY UZYSKAĆ WSZYSTKIE POTRZEBNE INFORMACJE:
Klucze podadzą ci wartości tablic, które pozwolą ci to wszystko zrobić za pomocą globals wordpress (choć nie jest to zalecane)
Aby usunąć dla niektórych użytkowników, po prostu zrób to samo, z wyjątkiem dodanych możliwości:
I ABY ZWIĄZYWAĆ SIĘ Z NIM WSZYSTKO, DLACZEGO NIE SKRÓCĄ NASZEGO KODU? MOŻESZ UŻYWAĆ tablic, aby uniknąć pisania remove_submenu_page 50 razy. Działa to również z węzłami paska narzędzi:
źródło
Prawdopodobnie będziesz musiał ustawić wyższy priorytet dodatku aktywności i skierować te dwa nowe linki w szczególności:
Zaawansowane pola niestandardowe zawierają również dokument pomocy dotyczący tego, jak to zrobić dla ich menu tutaj:
http://www.advancedcustomfields.com/resources/how-to/how-to-hide-acf-menu-from-clients/
Formularz kontaktowy 7 ma również własny sposób ograniczania widoczności menu:
http://contactform7.com/restricting-access-to-the-administration-panel/
źródło
remove_menu_page( 'wpcf7' );
Aktualizacja
I stworzył fragment kodu z bardziej solidnych funkcji, która dotyczy obu głównych elementów menu i podmenu.
Oryginalna odpowiedź
Zamiast określać menu, które chcesz usunąć, określ menu, które chcesz zachować :)
W ten sposób nie musisz szukać nazw wtyczek i modyfikować kodu podczas dodawania nowych wtyczek.
źródło
Musisz znaleźć odpowiedni $ menu_slug. Poniższy kod działał dla mnie:
źródło
Oczywiście możesz określić tylko elementy, które chcesz usunąć. Spójrz w poniższy kod:
To tylko minus metody numediaweb. Dzięki @numediaweb. To działa dobrze.
PS: „menu_item_1 / n” -> najedź myszką na pozycję menu i pobierz dokładną stronę tego elementu menu pokazaną w łączu.
źródło
użyj tego fragmentu kodu
źródło