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 );
?>
@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