保存自定义帖子类型时向作者发送邮件

时间:2018-09-21 作者:public9nf

我有一个名为“文档”的自定义帖子类型。我可以在那里添加文档(ACF repeater字段),用户可以在前端视图中看到它们。现在,当我在后端更改自定义帖子类型并保存它时,我需要向帖子的作者发送电子邮件通知。

在另一个项目中,我在函数中使用了以下函数。php文件,但当我创建新帖子时,这段代码才起作用。我不需要在创建新帖子时发送邮件,但当我再次保存它们时。

/* SEND MAIL WHEN CPT PRODUKTIONSAUFTRAG ERSTELLT */
add_action(\'future_to_publish\', \'send_emails_on_new_event\');
add_action(\'new_to_publish\', \'send_emails_on_new_event\');
add_action(\'draft_to_publish\' ,\'send_emails_on_new_event\');
add_action(\'auto-draft_to_publish\' ,\'send_emails_on_new_event\');

function send_emails_on_new_event($post) {
    $emails = "[email protected]";
    $headers = \'From: Name <[email protected]>\';
    $title = wp_strip_all_tags(get_the_title($post->ID));
    $message = "New post created";
    if(get_post_type($post->ID) === \'documents\') {
        wp_mail($emails, "New Post", $message, $headers);
    } 
}

1 个回复
SO网友:benny-ben

请尝试以下方法:

function send_emails_on_new_event( $post ) {

    $emails  = \'[email protected]\';
    $headers = \'From: Name <[email protected]>\';
    $title   = wp_strip_all_tags( get_the_title( $post->ID ) );
    $message = \'New post created\';

    if ( get_post_type( $post->ID ) === \'documents\' ) {
        wp_mail( $emails, \'New Post\', $message, $headers );
    }
}
add_action( \'pre_post_update\', \'send_emails_on_new_event\' );
参考代码:

pre_post_update: 在数据库中更新现有帖子之前立即激发。

结束