Opa, novo post para revisão!

Acho que o WordPress já deveria vir com essa funcionalidade por padrão, mas não vem =\

Também não encontrei nenhum código pronto que funcionasse corretamente para fazer esse tipo de funcionalidade. Apesar de algo bem simples, é muito útil para blogs como o Tudo para WordPress, onde é necessário aprovar um novo post antes da sua publicação.

“Do que você está falando afinal? Bebeu?”

Desculpe, não especifiquei =] Quando uma pessoa que não tem permissão de publicar um post diretamente em um site/blog com WordPress, esse post precisa ir para revisão. Mas o administrador, ou a pessoa que deve aprovar o post não tem ideia que existe um novo post para revisão, até que ele acesse o painel do WordPress.

O que eu sentia falta era de que, após a criação do post e do envio para revisão, o administrador recebesse um e-mail avisando que existe um post para aprovar. Meio lógico, não? Mas isso não acontece.

Por isso resolvi criar um códigozinho simples, mas funcional (que inclusive o Guga colocou aqui no Tudo para WordPress também o/).

https://gist.github.com/4574393

É só pegar esse código e colar no functions.php do seu tema e configurar a variável $email com o e-mail de quem deve receber contato.

Espero que seja útil pra mais alguém. Até a próxima!

26 Comments

  1. É bom colocar uma verificação de revisão, para evitar que os autosaves e updates enviem os e-mails.

    if ( !wp_is_post_revision( $post_id ) )

    Além disso, sobe todas as ações para dentro do IF, para evitar processamento ou consumo de memória desnecessários.

    Boa dica. Abs.

  2. É por isso que eu amo o WordPress, a galera vai se ajudando e tudo vai ficando melhor ainda.
    Colaboratividade é o que há!

  3. Júnior Gonçalves
    Júnior Gonçalves

    Testando agora mesmo essa funcionalidade. Mas é claro que, depois de fazer um backup. Vai que…
    Parabéns Fernando!!!

  4. Parabéns pela dia meu nobre, mas Infelizmente eu não consegui recebi nenhum e-mail avisando…

    De qualquer forma, muito obrigado… Vou continuar pesquisando.

  5. OPA FUNCIONOU, Mas está caindo na Caixa de SPAM… Que Falta de Sorte não!!???

    • Olá André,

      o problema do SPAM é por causa da forma que está sendo enviado o e-mail. Se o e-mail que está cadastrado como admin não for do mesmo domínio do site, vai cair em SPAM mesmo.

      Já estou testando algumas melhorias pra fazer esse envio :)

  6. Na verdade, Não sei se serei claro, mas veja outro problema:
    O e-mail do admin é diferente do e-mail da pessoa que vai REVISAR o Post, entendeu?

    Sendo assim, há a possibilidade de especificar dentro do código o e-mail do destinatário real para a revisão?

    Lembrando que já alterei a variável $email, mas não chega nem como SPAM, mas seu eu deixar DEFAULT, ou seja, admin_email, aí envia sim, mas chega como SPAM, fui claro? rs :(

    • Amigos o problema já foi solucinado, configurando o arquivo PLUGGABLE.PHP do WordPress. Agora nenhuma mensagem cai mais em SPAM!

      Obrigado a Todos ae!!!

  7. Gostei muito muito do código. =)

    Só não entendi uma coisa …

    Sou o único admin do site, porém, gostaria que eu e a editora recebêssemos essa notificação de post para revisão.

    Temos vários colaboradores, uma editora e eu que sou o admin do site.

    Abraços

    • Olá Rodrigo, que bom que ajudou! xD

      Para enviar e-mail para mais de um usuário, você pode passar um array na função wp_mail manualmente:

      wp_mail( array( ‘email1@email.com’, ‘email2@email.com’ ), $subject, $message );

      Passe nesse array todos os e-mails que você quer que seja enviado a mensagem :)

  8. Olá pessoal,

    Obrigado por compartilhar o código com a comunidade.

    Gostaria de saber se é possível utilizar esse código para notificar o Admin quando um post está pendente de revisão em um Tipo de Post Customizado? Custom Post Type?

    Utilizando a seguinte condição:

    if(get_post_type() == ‘nome_do_post_customizado’){

    $post_status = get_post_status($post);
    […]

    Agradeço o contato.

  9. Ola,

    Queria que os meus leitores recebessem aviso de post novo mas não encontro nada na net que me ajude a configurar.

    Você conhece algum plugin para wordpress?

    Obriagada

    • Olá Renata! Você pode usar essa mesma função, só modificando o if na linha 18 para pegar posts com status `publish`. O if ficaria assim:

      if( $post_status === ‘publish’ && ! wp_is_post_revision( $post ) ) {

  10. klebson Oliveira
    klebson Oliveira

    Link OFF, teria como re colocar?

    VLWW!

Deixe uma resposta