-
-
Save fdaciuk/4574393 to your computer and use it in GitHub Desktop.
<?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 ); | |
?> |
@abraao2012, você pode trocar toda a função pelo seu email:
$email = '[email protected]';
Legal!
E se eu quiser incluir no email outros elementos do post? Como o autor, resumo, etc.
Seria algo parecido com isto?:
$message = 'Título: ' . get_the_title( $post ) . "\n\n";
$message = 'Autor: ' . get_the_author( $author );
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 =/
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.
Muito bom o artigo, obrigado pela dica.
$email = get_option( 'admin_email' );
a parte do 'admin_email' eu coloca um email qualquer