起因
今天修改 WP 邮件模板的时候,发现有这么一个问题:
当读者向作者评论的时候,作者会收到一封邮件 (通知作者收到了新评论)
作者回复读者的评论之后,读者会收到一封邮件 (作者回复了你的评论)
本来这都没什么问题,但是,这两封邮件的回复模板机制不一样!
例如,通知作者收到了新评论时,邮件内容的模板大致是这样的:
您的文章《xxxxxxxxxx》有新评论
作者:xxxx (IP地址:xxx.xxx.xxx.xxx,xxx.xxx.xxx.xxx)
电子邮箱:xxxxxxx@xxx.com
URL:http://www.xxx.xxx/
评论:
xxxxxxxxxxxxxxxx
您可以在此看到该文章的所有评论:https://www.xxxxx.xxx/xxxxxxx.php
固定链接:https://www.xxxxx.xxx/xxxxxxx.php
移至回收站:https://www.xxxxx.xxx/xxxxxxx.php
标记为垃圾评论:https://www.xxxxx.xxx/xxxxxxx.php
而通知读者”作者回复了你的评论“的那封邮件样式,则每个 WP 博客的样式,可能都不一样
因为,这个第二封邮件模板,网上有很多现成的改法,很多主题也自带有自己风格的模板 (这段代码通常会位于 Function.php 文件中)
但是,第一封邮件(通知作者的邮件)的模板,目前我所见到的,全部都是调用上述的 WP 默认模板
所以咱们如果想自己改的话,该怎么修改呢?
修改方法
直接进入主题,这个所谓的默认模板的位置在 \wp-includes\pluggable.php 中
正文开头是 New comment on your post "%s"
想要修改的朋友,可自行使用编辑器的”查找“,找到具体内容后,按需修改
折腾的全过程
那么下面说说我是怎么找到这个位置的。
最初,看到这个第一封邮件的时候,我就觉得排版很难受
邮件全文都是普通文字和超链接,也就是说这个邮件模板完全没有使用 css,页面没有美化
再通过内容 (作者、IP地址、电子邮件、URL、固定链接、移至回收站、标记为垃圾评论),我们很容易就会得到一个猜想:这个通知作者的邮件的模板,应该是 WP 自带的,而非主题或模板所带的
如果上述猜想是正确的,那么接下来的操作就一目了然了
作为一个国外的博客程序,既然我们要修改的是 WP 自带的代码,那么原代码中的“固定链接、移至回收站、标记为垃圾评论”这些提示语,必定是英文的,而不是中文内容
具体原因是:WP 的中文内容就是依靠中文翻译包实现的
所以,我们找到这个 WP 自带代码的思路也就清晰了:
通过在 WP 中文翻译文件中寻找“移至回收站”这种关键词,找到对应的原文(英文)
然后全文查找整个网站目录文件,找到存在对应原文的文件
最后修改对应原文所在的部分的代码即可实现修改第一封邮件模板代码
开始修改
所以,我们就可以开干了
先将网站目录文件备份下来,然后下载 Poedit 这个软件,用它打开 wp-content\languages 下的带有 zh_CN 的 po 文件,然后使用 Ctrl+F 查找“移至回收站”这几个字。因为这个目录下有好几个带有 zh_CN 的 po 文件,以防万一,我们最好全部都找一遍。之后,我们可以很幸运地发现,“移至回收站”这几个字的翻译刚好在“zh_CN.po”这个文件中,对应的原文(英文)为“Trash it”。
接下来我们只需要安装 Everything 这个搜索软件,然后在网站目录上,右键使用 Everything 打开,之后使用“搜索-高级搜索”,在“文件内容中包含的单词”中输入“Trash it”,等待几秒钟后结果果然就出来了,这段英文存在于 \wp-includes\pluggable.php 的文件中。
然后使用 Notepad++ 或其它编辑器打开这个文件,使用 Ctrl+F 搜索找到 Trash it 便可找到对应部分(其实有三个部分,但是通过其它关键词“New comment on your post”再次查找可以确定在第三部分,即“default: // Comments”之后的那一部分内容)
最后
这样,要修改的部分就找到了。上述过程看似复杂,其实并不麻烦,这是一个有逻辑的推理过程,结合了猜想 + 倒推的方法,本文的目的并不是为了单纯的说这个模板的源码位置,主要是为了介绍这种通用的寻找方法,按照这种方法还可以修改很多 WP 中的内容
其实我看到这段代码所在的位置之后,就不打算大幅度修改这段源码了,因为,修改之后,如果更新了WP,那么修改的部分又会被替换为默认源码。样式什么的,就随它去吧 hhh)
所以,你修改成怎么样的了
@青山 针对我的模板只去掉了IP显示,针对评论者的模板你看看就知道了,好多人都用的这个还不错
噢,不适合折腾
我也是用的wordpress, 试试你的评论模版
@芭比 评论模板啊……我用的这个:http://www.zntec.cn/archives/comment-mail.html
这个发给管理员,美化模板的情况似乎比较少,一般都是美化发给留评用户的
@杨景文 确实,主要是默认的排版看着不太直观,我现在觉得可以把格式调整一下,邮件第一行就显示评论内容,然后空几行下面再显示评论者信息。嗯,这就去改。
彳亍,不过我觉得按你这个操作是不是也可以把发表评论上面的“姓名”改成“昵称”?我发现总有些人真的以为要填写真实姓名……填了个真实姓名上去
@ChrisKim 这个真的,不排除有憨憨会傻傻地填上真实姓名