我正在为我的家人做一个分享信息、食谱等的小项目,我添加了一个“@”提及功能。既然提及功能起作用了,我需要通知用户他们被提及了。
我认为WP的评论已经做到了这一点,因为我的家人会通过电子邮件收到评论通知,所以我决定在DB中出现提及时插入评论。它使用注释类型“提及”,并将comment\\u post\\u ID设置为0,并添加一些注释元数据来存储被提及的用户和进行提及的用户。它工作得很好。
我可以使用wp\\U mail发送电子邮件,没有问题,但由于“提及”是“评论”,我想使用wp已经提供的任何内容。我找到了两种可能有用的方法:wp\\u notify\\u posauthor和comment\\u post。
使用comment\\u post是可行的,但它只发送普通评论。
我尝试过滤并挂接到wp\\u notify\\u posauthor,但没有成功。以下是筛选wp\\u notify\\u postauthor的方法:
add_filter(\'wp_notify_postauthor\', \'smile_wp_send_member_notification\', 10, 2);
function smile_wp_send_member_notification( $comment_id, $comment_type ){
ob_start();
//get comment info
$comment = get_comment( $comment_id );
$from_user = $comment->user_id;
$post = get_post( $comment->comment_post_ID );
$author = get_userdata( $post->post_author );
//set email subject
$email_subject = $comment->comment_type.\' notification title\';
include(\'email_header.php\');
?>
<p>
<?php echo $comment->comment_type; ?> <?php echo $post->post_type; ?> Notification Message in here.<br />
<?php echo $comment->comment_content; ?>
</p>
<?php
include(\'email_footer.php\');
$message = ob_get_contents();
//clear buffer
ob_end_clean();
//ob_start();
//wp_mail( $author->user_email, $email_subject, $message );
//ob_end_clean();
return $message;
}//end smile_wp_send_member_notification
我认为wp\\u notify\\u posauthor是可插入的,但可能不是。如果有其他方法执行此操作或获取电子邮件通知,请让我知道。