Eu tenho o seguinte código, que limpa muitas coisas que não serão usadas na área de administração:
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
};
No entanto, existem dois itens de menu que foram inseridos nos plugins.
Quando passo o mouse sobre cada item de menu, ele diz que os links são:
/wp-admin/edit.php?post_type=acf
/wp-admin/admin.php?page=wpcf7
Existe uma maneira de ocultar essas páginas de menu também?
Respostas:
Você precisa usar os ganchos certos (que nem sempre são os mesmos que os URLs / slugs), e não faz mal usar um gancho que seja executado mais tarde (por exemplo,
admin_init
):Você pode usar o seguinte para depurar:
Isso fornece (para minha configuração) o seguinte para a página de menu do plug-in do Formulário de contato 7:
O elemento do array com chave
2
é o que você está procurando:wpcf7
.fonte
remove_menu_page()
foi uma grande ajuda - me ensinou a pescar em vez de apenas me entregar o peixe!Você pode depurar tudo isso com as seguintes informações para obter todas as informações necessárias:
As teclas fornecerão os valores da matriz que permitem fazer tudo isso com os wordpress globais (embora não sejam recomendados)
E para remover para certos usuários, faça o mesmo, exceto com os recursos adicionados:
E AMARRAR TODOS JUNTOS POR QUE NÃO CURTAR NOSSO CÓDIGO? VOCÊ PODE USAR ARRAYS PARA EVITAR ESCREVER remove_submenu_page 50 vezes. Isso também funciona com os nós da barra de ferramentas:
fonte
Você provavelmente precisará definir a prioridade add_action para um número mais alto e direcionar esses dois novos links especificamente da seguinte maneira:
Os campos personalizados avançados também fornecem um documento de ajuda sobre como fazer isso no menu aqui:
http://www.advancedcustomfields.com/resources/how-to/how-to-hide-acf-menu-from-clients/
O Formulário de contato 7 também possui uma maneira própria de restringir a visibilidade do menu:
http://contactform7.com/restricting-access-to-the-administration-panel/
fonte
remove_menu_page( 'wpcf7' );
Atualizar
I criado um trecho de código com uma função mais robusto que lida com ambos os menus principais e itens de sub-menu.
Resposta original
Em vez de especificar os menus que você deseja remover, especifique os menus que deseja manter :)
Dessa forma, você não precisa procurar nomes de plugins e modificar o código ao adicionar novos plugins.
fonte
Você precisa encontrar o $ menu_slug certo. O código a seguir funcionou para mim:
fonte
Obviamente, você pode especificar apenas os itens que deseja remover. Dê uma olhada no código abaixo:
Este é apenas o negativo do método de numediaweb. Obrigado @numediaweb. Funciona bem.
PS: 'menu_item_1 / n' -> aponte o mouse sobre o item de menu e busque a página exata do item de menu mostrado no link.
fonte
use este trecho de código
fonte