Suporte » Plugins » exibição e moderação de comentários

  • Imagem: http://wp.redeesportiva.com.br/internos/wp.jpg

    Na imagem observem que está logado no painel de controle um usuário tem permissão de “Autor”.

    Sobre comentários, sabemos que “Editor” e o “Administrador” podem aprovar e rejeitar quaisquer comentários. Já o “Autor” tem permissão para aprovar/rejeitar apenas os comentários feitos nos posts escritos por ele (próprio autor).

    Ele pode MODERAR só os feitos no post dele. Mas lhe é EXIBIDO todos. Só que eu gostaria que fossem exibidos ao “Autor” para moderação apenas os comentários feitos no post dele.

    O exemplo é claro. Observem na imagem, o comentário do Rodrigo foi feito num post do “Autor”, por isso, logado como autor é possível visualizar e moderar.

    Já o comentário abaixo, do Bruno, foi feito numa postagem que não era do “Autor”, sendo assim o “Autor” não pode moderar. Mas é exibido pra ele. Gostaria que nem fosse exibido para ele. Que fossem exibidos apenas os comentários dos próprios posts.

    Compreendem?

Visualizando 12 respostas - 1 até 12 (de um total de 12)
  • Se sumir com os comentários for somente para organização ou simplificação para o usuário e se vc não tiver dezenas de autores tem como ser feito via css escondendo os posts que não são do autor e mostrando só os dele.

    Não testei, mas na teoria seria possível acredito eu.

    Aí Myst1010, é exatamente isso. Sumir para organização! Devo ter uns 5, 6 usuários “autores”. Gostaria que fossem exibidos apenas os comentários dos posts deles no painel para que eles possam moderar (os outros não tem pq ficar aparecendo).

    Eu não tenho nem noção de como fazer, não manjo nada de estilos e css. Alguém, por favor, pode dar uma luz? Acredito que será de grande ajuda para toda comunidade.

    Já procurei bastante. É uma questão não resolvida também no fórum americano.

    http://wordpress.org/support/topic/how-to-moderate-comments-by-author-or-category?replies=1

    Bom espero então que ajude, em teste aqui funcionou muto bem.

    Adicione isso no function do seu tema.

    function esconde_no_autor_comentarios_admin(){
    	global $user_identity, $user_level;
    
    	$nome = strtolower(str_replace(' ','-', $user_identity)); 
    
    	if (current_user_can('edit_themes')) {
    		return false;
    
    	} else {
    	echo "
    	<style type=\"text/css\">
    		#the-comment-list .comment-item{display:none;}
    		#the-comment-list .comment-author-".$nome."{display:inherit;}
    	</style>\n";
    	}
    }
    add_action('admin_head', 'esconde_no_autor_comentarios_admin');

    Explicando:
    A função está verificando se quem está no painel é um administrador ou não, caso seja um administrador ele exibi todos os comentários para ele.

    Bom eu achei mais coerente desta forma, afinal o administrador tem que saber de tudo e não ter coisas escondidas dele correto?

    Caso não seja um administrador exibi os comentários em posts realizados pele autor que está logando.

    Só testei em nomes de usuários contendo letras maiúsculas e com espaço que não são passados para a class css na administração. Então se começar a aparecer comentários para usuários que não deveria pode ser o tipo de caracteres que ele escolheu e que não foi passado para a class css.

    Teste e vejam se ficou exatamente o que vc queria e me dê um retorno depois.

    Vale lembrar que nem de perto isso é uma medida de segurança porque não está sendo removido nenhum comentário para determinado usuário, então isso não é uma forma de impedir que o usuário veja os comentários que não tem haver com ele, pois se olharem no código fonte verá lá todos os comentários escondidinhos.

    Oi Myst1010, muito obrigado pela ajuda.

    Ainda não funcionou.

    Mas é isso mesmo que eu estou precisando. Não me preocupo com segurança pois de fato é para simples organização. É para que meus autoria não precisem ficar tendo que procurar os comentários dos posts deles para moderar.

    Logado como administrador está tudo Ok, ele exibe todos os comentários. Agora logado como “autor” ou “editor” ele não exibe nada. Comentário nenhum, nem os feitos em posts dele, nem os feito em outros.

    O nome do usuário do autor era “Vinicius Guerreiro”, troquei para “guerreiro”. Continuou igual. Uso o Ghrome, testei no Internet Explorer e também não exibe.

    Imagem de ilustração

    agradeço muito qualquer ajuda

    Vou testar aqui com os mones que vc falou e te falo já já

    Descobri o porque não está funcionando ai e aqui estava.

    Aqui estava funcionando porque para testar eu criei um usuário autor, criei um post e fiz comentários.

    Dai o WordPress adiciona o nome do autor a class css, mas só quando o autor faz um comentário no seu próprio post, os comentários dos outros não leva o nome do autor, até porque nem sempre o usuário precisa estar logado para comentar.

    Não sei pra que ele manipula a css desta forma, mas fazer o que.

    Vou continuar tentando arrumar um jeito e posto aqui se conseguir.

    Meia hora elaborando uma função idiota pra não servir de nada rsrsrsrsr só eu mesmo.

    Cara infelizmente tentei a tarde toda fazer funcionar a função e nada, até sei resolver o problema, só não estou conseguindo a identificação de quem criou o post para manipular a comment_class.

    Se alguém tiver uma idéia de como pegar o nome do autor do post eu termino de fazer essa função, mas infelizmente minhas idéias esgotaram.

    observação, pegar o nome do autor não é igual a pegar o nome na página single ou index, todas as tentativas me retorna erros desagradáveis ou não retorna nada.

    Valeu, Myst1010 … obrigado por toda essa ajuda.

    Bom, esconder os comentários já é possível. Acho que o caminho é por aí.
    Vou ver se entendo como funcionar e falar com amigos.

    Se alguém souber, por favor, posta aqui!

    Alexandre Kucarcz Cordeiro

    (@alexandre-kucarcz-cordeiro)

    Olá!
    Também estou precisando fazer isso para um blog que terá muitos autores. Mauricio, você conseguiu resolver?
    Abraço

    E aí Alexandre.

    Essa dos comentários pra mim serviria apenas para organizar, pois temos muitos autores.

    http://www.redeesportiva.com.br

    Então tem uma parte que cada autor vai ter um “blog”. Ao invés de enviar e instalar vários wordpress para o servidor, decidi instalar apenas um, criar uma categoria para cada do que seria um blog.

    Bloqueei a postagem dos autores apenas para suas categorias. E estou personalizando o template de cada categoria (e post das categorias) utilizando toda flexibilidade do WordPress.

    Eu consegui restringir a categoria em que cada autor pode postar utilizando o plugin Restrict Categories.

    Ele só fica autorizado a postar na categoria definida, mas se ele não selecionasse nenhuma o post iria para categoria “padrão”. Eu resolvi isso com outro plugin, o Radio Button Categories (ele muda a opção de seleção da categoria na hora de postar pra botão radio, só que não vinha “selecionado”, isso eu tive que editar os arquivos do plugin mesmo).

    Os comentários seguem “desorganizados”. Pois exibe ao autor todos os comentários, mesmo que ele não possa aprovar.

    Se houver uma solução não deixe de compartilhar!!

    Alexandre Kucarcz Cordeiro

    (@alexandre-kucarcz-cordeiro)

    Olá Maurício. Muito bom esse seu site esportivo!
    O meu caso, é que montei um blog comunitário, onde as pessoas se cadastram e publicam suas ideias.

    http://www.publiqueideias.com

    No meu caso não precisei restringir as categorias, apenas restringi ainda mais as opções dos autores com o plugin Adminize http://wordpress.org/extend/plugins/adminimize

    O que estou fazendo por enquanto, é esconder a opção dos comentários no painel e deixei para que os comentários apareçam sem precisar moderar. Mas assim que eu descobrir como organizar os comentários por autor eu voltarei a exibi-los no painel e com certeza posto aqui a solução! Assim que eu tiver novidades sobre os comentários compartilharei aqui!

Visualizando 12 respostas - 1 até 12 (de um total de 12)
  • O tópico ‘exibição e moderação de comentários’ está fechado para novas respostas.