Skip to content

Instantly share code, notes, and snippets.

@fdaciuk
Last active May 12, 2020 23:43
Show Gist options
  • Save fdaciuk/4574393 to your computer and use it in GitHub Desktop.
Save fdaciuk/4574393 to your computer and use it in GitHub Desktop.
Envia um e-mail para o administrador do site/blog se houver algum post para revisão. PS.: Configurar a conta que receberá o e-mail na variável $email. Por padrão, está configurado o e-mail do administrador do blog.
<?php
/*
Enviar e-mail para o administrador se houver posts para revisão
Dicas do @GugaAlves (@tudoparawp):
- Adicionar link para enviar e-mail diretamente para o administrador;
- Incluir link para a edição do post no admin, facilitando a vida do admin que receber este email.
Dicas do Gustavo Bordoni (@webord):
- incluir na função o $post (objeto para WP_Query) para não ficar passando o $post_id a cada save;
- Passar os parâmetros direto para a função admin_url() ao invés de concatenar.
Dica do Manoel Netto: Incluir a verificação "! wp_is_post_revision( $post )" para não enviar e-mail a cada auto save.
*/
function send_mail_post_pending( $post_id, $post ) {
$post_status = get_post_status( $post );
if( $post_status === 'pending' && ! wp_is_post_revision( $post ) ) {
$email = get_option( 'admin_email' );
$subject = '[REVISAR NOVO POST] ' . get_the_title( $post );
$message = 'Existe um novo post para revisão: ' . get_the_title( $post ) . "\n\n";
$message .= 'Revisar o post: ' . admin_url( "post.php?post={$post_id}&action=edit" );
wp_mail( $email, $subject, $message );
}
}
add_action( 'save_post', 'send_mail_post_pending', 10, 2 );
?>
@fdaciuk
Copy link
Author

fdaciuk commented Jul 8, 2014

Isso mesmo @gofas, mas precisa concatenar com a variável $message, usando o ponto :)

PS.: Desculpe a demora em responder.. o gist não manda notificação de novas mensagens =/

@corrija
Copy link

corrija commented Oct 15, 2015

Fala pessoal.
Gostei muito do código e já até fiz uso do mesmo com sucesso.
Mas eu queria saber o seguinte:
eu tenho um "shortcode" que mostra os valores de um campo personalizado no wordpress, porém eu não consigo jogar esse valor dentro da variavel $email do código de vocês.
A idéia é pegar o email que esta cadastrado neste campo do post e quando atualizar o post, enviar o email.
Caso alguém saiba como jogar este valor do shortcode dentro da variável $email, serei muito grato.
Obrigado pelo código.

@tihhgoncalves
Copy link

Muito bom o artigo, obrigado pela dica.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment