• Fala pessoal,

    Eu gostaria de criar um painel administrativo bastante simples onde cada usuário poderia editar apenas um único post.

    De preferência que essa página de edição já fosse aberta assim que ele fizesse o login no WordPress.

    Eu já consegui tirar todos os menus, já consegui que usuário visualizasse apenas os posts que que ele tem permissão de editar, mas eu gostaria de algo mais restrito. Gostaria que eles não pudessem sequer criar um novo post e pudesse editar somente aquele que já existe.

    Eu não consegui achar nada que me ajudasse a filtrar o post id pelo id do usuário. Fico imaginando que esse possa ser o caminho.

    Qualquer sugestão seria muito bem vinda!

Visualizando 1 resposta (de um total de 1)
  • Talvez o caminho mais fácil pra se garantir, seja checar se o usuário possui um ou mais posts, e caso tenha, remover a capability (permisao) através de um filtro.

    Eu não posso entrar muito em detalhes por que fazer isso é um pouco trabalhoso, por isso só posso te dar um caminho pra resolver o problema. Uma vez precisei desabilitar a ativacao de plugins para usuarios que nao eram super-admins. Foi esse o código que usei.

    add_filter( 'map_meta_cap', 'my_map_meta_cap', 10, 3 );
    
    function my_map_meta_cap( $caps, $cap, $user_id ) {
    
    	if ( 'activate_plugins' === $cap && !is_super_admin( $user_id ) )
    		$caps = array( 'do_not_allow' );
    
    	return $caps;
    }

    O que vc precisaria fazer é fazer algo parecido com isso, mas checar se a permissao é a equivalente para criar/alterar post… e depois chegar se usuario possui pelo menos 1 post. Se a resposta for verdadeira pra todas essas condicoes, retorne o ‘ $caps = array( ‘do_not_allow’ ); ‘

Visualizando 1 resposta (de um total de 1)

O tópico ‘Usuário edita post único’ está fechado para novas respostas.