Opa, novo post para revisão!
Acho que o WordPress já deveria vir com essa funcionalidade por padrão, mas não vem =\
Quando uma pessoa 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, o amigo Fernando Daciuk criou um snippet funcional para isso.
É 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.
É 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.
Opa! Valeu pela dica @Manoel! Já ajustei o código o/
É por isso que eu amo o WordPress, a galera vai se ajudando e tudo vai ficando melhor ainda.
Colaboratividade é o que há!
Testando agora mesmo essa funcionalidade. Mas é claro que, depois de fazer um backup. Vai que…
Parabéns Fernando!!!
Pode testar tranquilo Júnior! O máximo que pode acontecer é você não receber o e-mail, rsrs 🙂
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.
Usamos este mesmo snippet aqui André, e funciona perfeitamente.. Como você implementou o código?
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 🙂
Obrigado meu nobre, de qualquer forma, vou testar colocando um e-mail do mesmo domínio e volto a postar aqui o resultado. Forte Abraço!
Fernando, eu recebo num gmail, sem problema algum..
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!!!
Nao entendi, vc modificou um arquivo do core do WP? Não faça isso, irá perder o q fez a cada atualização..
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( ’[email protected]’, ’[email protected]’ ), $subject, $message );
Passe nesse array todos os e-mails que você quer que seja enviado a mensagem 🙂
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.
Olá Enoque!
Não cheguei a testar, mas é pra funcionar se você passar o $post_id nessa função:
if( get_post_type( $post_id ) == ‘seu_post_type’ ) { … }
Referência para o get_post_type: https://developer.wordpress.org/reference/functions/get_post_type/
Referência para a action save_post (para CPT): https://developer.wordpress.org/reference/hooks/save_post/
xD
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 ) ) {
Link OFF, teria como re colocar?
VLWW!
Klebson,
o link tá normal: https://gist.github.com/fdaciuk/4574393
🙂
Olá. Muito bom. Parabéns e obrigado. Eu apenas gostaria de saber como colocar o nome do autor ou qualquer outro nome no “Emissor” da mensagem. Atualmente aparece como WordPress. Obrigado.
@Elton, você consegue fazer isso adicionando um header. Dá uma olhada na documentação: https://developer.wordpress.org/reference/functions/wp_mail/
🙂
Excelente, Fernando. Muito obrigado pela ajuda e por compartilhar o conhecimento. Abraço.
Obrigado pela dica, amigo.