WordPress评论回复邮件样式美化教程

9,493
WordPress评论回复邮件样式美化教程
  • 5.00 / 5 5
5.00分(1票)
WordPress评论回复邮件样式美化教程

在上一篇文章《 免插件仅代码实现WordPress评论回复邮件 》中Jeff 提供了三种回复邮件样式类型。在你将需要的类型实现后,如果去测试一下,你会发现邮件的样式不怎么好看,甚至是丑陋的。如果你的网站访客收到如此千篇一律的单调邮件,他是否有兴趣再去你的网站上踩踩呢?有没有方法可以美化一下呢?

注意到《 免插件仅代码实现WordPress评论回复邮件 》的诸如 <div style=”background-color:#eef2fa; border:1px solid #d8e3e8; color:#111;”>的代码,相信你知道这些是css代码,在html中的css代码。本文所说的美化即是在这里下功夫。

在开始之前,让Jeff给出一个示例(你可以给我评论,如果我回复,你就会收到这类邮件):

 

您在 [DeveWork.com] 上的留言有回复啦!

评论人, 您好!

您在《WordPress评论回复邮件样式美化教程》的留言:

hello

Jeff 给你的回复:

这个是演示效果

你可以点击查看完整内容

欢迎再度光临DeveWork.com

(此邮件由系统自动发出, 请勿回复。)

 

本站目前使用的评论回复邮件就与上面的差不多。下面直接给出我使用的代码吧,你可以个性化一下,这里就不延伸了。

跟《 免插件仅代码实现WordPress评论回复邮件 》一样,在funtions.php文件的末尾最后一个 ?>输入的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function comment_mail_notify($comment_id) {
    $admin_email = get_bloginfo ('admin_email'); 
    $comment = get_comment($comment_id);
    $comment_author_email = trim($comment->comment_author_email);
    $parent_id = $comment->comment_parent ? $comment->comment_parent : '';
    $to = $parent_id ? trim(get_comment($parent_id)->comment_author_email) : '';
    $spam_confirmed = $comment->comment_approved;
    if (($parent_id != '') && ($spam_confirmed != 'spam') && ($to != $admin_email)) {
    $wp_email = 'no-reply@' . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME']));
    $subject = '您在 [' . get_option("blogname") . '] 的留言有了新回复';
    $message = '
    <div style="background-color:#fff; border:1px solid #666666; color:#111; -moz-border-radius:8px; -webkit-border-radius:8px; -khtml-border-radius:8px; border-radius:8px; font-size:12px; width:702px; margin:0 auto; margin-top:10px;">
    <div style="background:#666666; width:100%; height:60px; color:white; -moz-border-radius:6px 6px 0 0; -webkit-border-radius:6px 6px 0 0; -khtml-border-radius:6px 6px 0 0; border-radius:6px 6px 0 0; ">
    <span style="height:60px; line-height:60px; margin-left:30px; font-size:12px;"> 您在<a style="text-decoration:none; color:#ff0;font-weight:600;"> [' . get_option("blogname") . '] </a>上的留言有回复啦!</span></div>
    <div style="width:90%; margin:0 auto">
      <p>' . trim(get_comment($parent_id)->comment_author) . ', 您好!</p>
      <p>您在《' . get_the_title($comment->comment_post_ID) . '》的留言:<br />
      <p style="background-color: #EEE;border: 1px solid #DDD;padding: 20px;margin: 15px 0;">'. trim(get_comment($parent_id)->comment_content) . '</p>
      <p>' . trim($comment->comment_author) . ' 给你的回复:<br />
      <p style="background-color: #EEE;border: 1px solid #DDD;padding: 20px;margin: 15px 0;">'. trim($comment->comment_content) . '</p>
      <p>你可以点击<a href="' . htmlspecialchars(get_comment_link($parent_id, array('type' => 'comment'))) . '">查看完整内容</a></p>
      <p>欢迎再度光临<a href="' . get_option('home') . '">' . get_option('blogname') . '</a></p>
      <p>(此邮件由系统自动发出, 请勿回复。)</p>
    </div></div>';
    $from = "From: \"" . get_option('blogname') . "\" <$wp_email>";
    $headers = "$from\nContent-Type: text/html; charset=" . get_option('blog_charset') . "\n";
    wp_mail( $to, $subject, $message, $headers );
    }
  }
  add_action('comment_post', 'comment_mail_notify');

喵~本文目前有9条留言,欢迎发表评论!

  1. 4#
    :

    我的网站设置了,还是收不到邮件。

    [回复]
    • 主机问题吧,不支持mail函数

      [回复]
      • 那还有什么解决办法吗?

        [回复]
        • 不支持也没什么,一个插件WP-Mail-SMTP也能解决WordPress 无法发送邮件的问题(但是要更改一下/wp-include/class-smtp.php中的代码)。

          [回复]
  2. 赶上地板鸟
    :

    学习了,等折腾好wordpress自带评论的样式后再折腾这个回复邮件样式

    [回复]
  3. 板凳也不错
    :

    添加后出现:Fatal error: Cannot redeclare comment_mail_notify() (previously declared in /home/tupjrivf/public_html/wp-content/themes/HotNewspro/functions.php:446) in /home/tupjrivf/public_html/wp-content/themes/HotNewspro/includes/functions/notify.php on line 36

    [回复]
    • 貌似是函数其冲突了

      [回复]
      • 呃。。。那怎么办?是funtions.php文件里的吗?

        [回复]
  4. 传说中的沙发
    :

    看看是什么样式

    [回复]

打破沉默,我来发表评论鸟~