从匹配项中动态提取正确的电子邮件地址

时间:2012-12-20 作者:Richard

这是我当前的函数,

 class emailer {
  function notifyHeart($post_ID)  {
    $interests = get_user_meta(get_current_user_id(), \'interests\');
    $post = get_post($post_ID);

    foreach($interests as $interest) {
      if(has_tag($interest, $post)) {
        $to = get_the_author_meta( \'user_email\', get_current_user_id() );  
        $email = $to;
        mail($email, "An article about Heart", \'A new post has been published!\');
        break;
      }
    }
  }
}
add_action(\'publish_post\', array(\'emailer\', \'notifyHeart\'));
到目前为止,它只适用于一个用户,而另一个用户没有收到来自帖子的符合他们兴趣的标签的电子邮件。

理想情况下,我只想在用户的$兴趣与帖子中的标记匹配时检索电子邮件,然后选择并发送适当的电子邮件地址。

1 个回复
SO网友:Ralf912

谁应该检索电子邮件?当作者发布帖子时,会触发挂钩“publish\\u post”。因此,当前用户==文章作者。

我假设你会这样做:如果Buddy-A发布帖子,而Buddy-B同时登录,那么Buddy-B应该检索一封Buddy-A发布帖子的电子邮件(这可能是Interest Buddy-B)。

如果我一针见血,而这正是你想做的,那就忘了它吧。WordPress没有集中的用户管理。您需要一个插件(请参见List of logged in users ) 获取当前登录的所有用户的列表。为列表中的每个用户调用函数,并检查兴趣是否与post标记匹配。

结束

相关推荐

类别页面不使用Category y.php,而是重定向到主页

我当前正在修改一个主题。此主题没有类别。php我需要一个自定义类别页面。所以,我做了一个。它可以在我的本地服务器上运行,但当我将其上载到真正的服务器时,该页面无法运行。它总是重定向到frontpage。它有一个头版。php和其他页面包括Chive。php,索引。php,一些自定义页面模板,单页面模板,taxonomy-custom\\u cat。php等。我的意思是一切都很正常。其他一切都很好,但在主服务器类别上无论如何都不起作用。它是否违反了模板层次结构?顺便说一下,主服务器是wordpress mul