Remover categorias / tags do menu Admin

8

Quero remover ou ocultar o submenu Categorias / Tags em Postagens no Menu do administrador. Eu sei que isso funciona com os submenus de temas:

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

Infelizmente, o mesmo não parece funcionar para postagens:

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

Estou usando a ação admin_menu: add_action( 'admin_menu', 'function_call' )

Preciso adicionar outra coisa?

Howdy_McGee
fonte
2
Voto positivo sobre esta pergunta, seus pagãos !!!
Spencer Williams

Respostas:

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');
}
gmazzap
fonte
Não estou vendo isso ocultar as áreas de tag e categoria na seção Edição rápida, mas faço isso remove_meta_boxconforme descrito.
Spencer Williams
Este não é o método preferido, é como removê-los usando css, não garante nada. verifique mbacon40 resposta, parece promissor.
Jnhghy # Alexandru Jantea
@ jnhghy-JanteaAlexandru remove_submenu_pagese não usar CSS para remover o submenu, ele remove o formulário de entrada a matriz de menu global (ver fonte ) para que o HTML de marcação para o menu não é processado em todos (e não-CSS oculta). No entanto, é verdade que, em alguns casos, isso pode não impedir que os usuários acessem a tela do submenu removido diretamente (consulte o ticket nº 18850 ), mas a OP pediu para remover o menu, e esse é o caminho a seguir.
gmazzap
@gmazzap Eu estava fazendo uma comparação. Removê-lo dessa maneira não garantirá que as tags não sejam adicionadas por outros meios (front-end). Eu estava tentando ressaltar que isso remove apenas a entrada do menu e não a conexão do tipo de postagem com a taxonomia. :)
jnhghy - Alexandru Jantea
7

Se você deseja remover completamente categorias e tags, faça o seguinte:

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

Você também pode remover as meta boxes da página Pós-criação

// 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');
Eric K
fonte
1

Graças a @ mbacon40 e @gmazzap, pude usá-lo para remover as Tags e categorias de produtos (product_tag e product_cat) do meu menu e das páginas de adição / edição de produtos.

// 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');
}
Artistan
fonte
0

por algum motivo, o edit.php não funciona na minha configuração 5.3

No entanto, isso funciona

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' );
Ramon Fincken
fonte