我们都知道,WordPress网站上有新评论时,管理员会收到一封邮件通知,那么有文章发表的时候,是不是也可以这样呢?这当然是针对于多用户博客来说的,如果博客是你一个人的,文章是你自己发的,我实在想不出来有什么理由这么做。不要跑题了,我们来看一下怎么实现这个酷酷的功能的吧。
function my_project_updated_send_email( $post_id ) {
//如果只是一个新版本, 就不用发邮件了
if ( wp_is_post_revision( $post_id ) )
return;
$post_title = get_the_title( $post_id ); //获取文章标题
$post_url = get_permalink( $post_id ); //获取文章链接
$subject = '有人在你网站上发表了新文章,是你干的吗?'; //发送邮件的标题
$message = "下面是新文章的内容:\n\n";
$message .= $post_title . ": " . $post_url;
//把文章的信息链接起来,作为邮件的正文
//发送邮件给管理员,我比较懒,这里就直接写我的邮箱了
wp_mail( '470266798@qq.com', $subject, $message );
}
add_action( 'insert_post', 'my_project_updated_send_email' );//把这个动作挂在到insert_post钩子上,一有文章发布,就发邮件
这个功能什么时候有用呢?我在两种情况下用过,一是网站增加了个投稿功能,然后登上WordPress Andriod客户端去审核。另外一种情况是,我把网站前台的联系表单信息提交到一个叫做“问答”的自定义文章类型上时。
有人给我投稿的时候,我手机马上能收到短信(通过139邮箱实现),这样网站有什么新动态,我马上就能知道,能在很大程度上增加站长和用户的互动性,如果网站是商业性质的,这对提升客户服务质量是很有帮助的。
1 thoughts on “当网站有文章发表时,邮件通知管理员”
//把这个动作挂在到insert_post钩子上,一有文章发布,就发邮件,这个是啥?没听懂,就是直接把这串代码放到wordpress的fundtion.php就可以了吗?