Suporte » Ajustando o WordPress » Menu do Backend apenas para Administradores

  • Resolvido RuanBarbosa

    (@ruanbarbosa)


    Olá,
    Gostaria que só o administrador do site pudesse visualizar um item que está no menu da administração (backend). Não tem relação com o menu que está localizado em Aparências.

    O item que quero ocultar é um menu (aqueles itens que aparecem do lado esquerdo quando você está no painel – Painel, Posts, Mídia, Link,…) que foi criado no arquivo functions.php (taxioma?). Pois, se entro com uma conta de colaborador, o item fica exposto.

    Como não sei o nome correto desse menu do backend, acabou por dificultar minha pesquisa. A maioria dos resultados são sobre o novo recurso de menus no wp 3.0. Se puderem me ajudar pelo menos na questão dos nomes, já ajudaria em uma nova pesquisar.

    O item em questão:

    function agent() {
    	$args = array(
    		'description' => 'Agent Post Type',
    		'show_ui' => true,
    		'menu_position' => 4,
    		'exclude_from_search' => true,
    		'labels' => array(
    			'name'=> 'Agent',
    			'singular_name' => 'Agents',
    			'add_new' => 'Add New Agent',
    			'add_new_item' => 'Add New Agent',
    			'edit' => 'Edit Agents',
    			'edit_item' => 'Edit Agent',
    			'new-item' => 'New Agent',
    			'view' => 'View Agent',
    			'view_item' => 'View Agent',
    			'search_items' => 'Search Agents',
    			'not_found' => 'No Agents Found',
    			'not_found_in_trash' => 'No Agents Found in Trash',
    			'parent' => 'Parent Agent'
    
    		),
    		'public' => true,
    		//'taxonomies' => array('propertytype'),
    		'capability_type' => 'post',
    		'hierarchical' => false,
    		'rewrite' => true,
    		'supports' => array('title', 'editor')
    
    	);
    
    	register_post_type( 'agent' , $args );
    }

    Pelo o que pesquisei, deve ser alguma alteração nesse código. Qualquer coisa me avisem se for necessário mais alguma informação.

    Muito obrigado

Visualizando 4 respostas - 1 até 4 (de um total de 4)
  • Tenta mudar o
    'capability_type' => 'post',

    para
    'capability_type' => 'manage_options',

    Hum… Acho que isso não vai funcionar…

    Tenta trocar o post por agent, ou alguma outra coisa que tenha a ver com o custom type.

    Depois, instale o plugin Members – http://wordpress.org/extend/plugins/members/ e defina que só o administrador pode editar agents, criar agents, etc. Isso deve resolver.

    Criador do tópico RuanBarbosa

    (@ruanbarbosa)

    Olá Renato, obrigado por responder minha dúvida. Então, fiz a primeira sugestão e não deu certo mesmo. Ai tentei a segunda, mas não deu certo, veja se fiz certo:
    Troquei
    'capability_type' => 'post',
    por
    'capability_type' => 'onlyadmin',
    também tentei trocar por algumas já existentes que estão desabilitadas pelo autor (por exemplo: manage_options e edit_themes).

    Instalei o plugin e fui em Usuários>Roles>Administrator. Fui em New Capabilities e coloquei em um dos campos o “onlyadmin” (deixei ativado). Depois fui em Author e deixei desativado. Mas agora o item Agent não aparece para o admin. Usando o manage_options ou o edit_themes dá a mesma coisa.

    Fiz algo errado?

    Muito obrigado.

    Criador do tópico RuanBarbosa

    (@ruanbarbosa)

    Olá Renato, depois de alguns testes aqui, consegui desabilitar a função para o Author. Usei o plugin Admin Menu Editor:
    http://wordpress.org/extend/plugins/admin-menu-editor/

    Ai consegui alterar as Regras para apenas administrador (ainda continuava aparecendo para o autor, mas negava o acesso). Ai configurando um pouco mais pelo plugin, consegui esconder para outros usuários (opção hide/show).

    O seu plugin acabou por responder outra dúvida minha, ai usando os dois plugins consegui o que quero (cria novas categorias de usuários) e dar permissões diferentes.

    Muito obrigado pela ajuda! Problema resolvido.

Visualizando 4 respostas - 1 até 4 (de um total de 4)
  • O tópico ‘Menu do Backend apenas para Administradores’ está fechado para novas respostas.