请参见question 19259.
函数在发布帖子时初始化,将挂钩更改为您的帖子类型或在默认情况下使用post
- 钩publish_post
. 在您发送签入函数之前,您的自定义用户元字段,如get_user_meta( $user_id, \'interests\', TRUE );
并准备发送有关新帖子的信息。
可能是这个解决方案,但未经测试!
add_action( \'publish_post\', \'fb_send_mail_about_new_post\' );
function fb_send_mail_about_new_post( $post_id = FALSE ) {
// check user meta data, if interest
$interests = FALSE;
$interests = get_user_meta( get_current_user_id(), \'interests\', TRUE );
if ( ! $interests )
return NULL;
if ( $post_id ) {
// get data from current post
$post_data = get_post( $post_id );
//var_dump($post_data);exit; <-- see this for all content or use the id for get the revisons
// get mail from author
$user_mail = get_userdata( $post_data -> post_author );
// email addresses
$to = get_user_meta( get_current_user_id(), \'email\', TRUE );
// email subject
$subject = get_option( \'blogname\' ) . \': \' . $post_data -> post_title;
// message content
$message = $post_data->post_content . \' \' . PHP_EOL .
get_author_name( $post_data->post_author ) . \' \' . PHP_EOL .
get_permalink( $post_id );
// create header data
$headers = \'From: \' .
get_author_name( $post_data -> post_author ) .
\' (\' . get_option( \'blogname\' ) . \')\' .
\' <\' . $user_mail -> user_email . \'>\' .
PHP_EOL;
// send mail
wp_mail(
$to,
$subject,
$message,
$headers
);
}
return $post_id;
}
另一种方法是使用一个插件并保留很多时间,就像这个免费插件一样
Inform about Content.该插件在用户配置文件中添加了两个字段,用于通过邮件更新帖子和评论。您可以使用自定义插件增强注册站点,以便新用户填写此字段。