昨晚 @小石 同学在研究 WordPress 博客如何避免在使用 smtp 发邮件时暴露主机 IP 这个问题时,问了我有没推荐方案,我给他推荐了利用 SendCloud 代发邮件这个方法,然而比较复杂,不易上手,小石同学说,能够制作个插件,方便使用,嘿,这个问题激起了 Young Free 的好奇心,写了这么多年博客了,还没折腾过插件,于是我研究了下代码,发现核心代码所有者 @张戈 同学标注的是禁止转载,所以没法制作成插件。
既然这个优秀的工具没法弄成插件,我之前不是分享过为公安网站备案合规化折腾出的代码吗?那就用自己的代码练手。插件开发,大概分如下4个步骤。
码代码
其实用来帮助完成网安要求,记录留评用户 IP地址 IP端口 和 精确到秒的时间 的代码,已经有了,现在就只需按照 WordPress 的格式,转换为插件即可。
WordPress 插件开发指引文件,可以参考 https://codex.wordpress.org/zh-cn:开发一个插件
实际上,对于 Young Free 需求,只需要添加插件所需的文件头( 标准插件信息 和 版权信息 )和说明文档就搞定了。非常简单。
写文档
WordPress 插件,需要有一个格式化的 readme.txt 文档,这个文档用来说明插件是干什么的,作者是谁,授权方式,以及开发和更新信息。想自行开发插件的小伙伴,可以借鉴官方的模板。写完后,还需要利用官方的工具来检查下是否正确。如果你懒得手动修改,可以试试在线生成,只需填空就行。地址:https://generatewp.com/plugin-readme/
打包
插件所有文档都写完后,只需将所有文件,放在一个文件夹内,并压缩成一个 .zip 压缩包就可以了。
校验
得到这个压缩包后,就可以上传到自己的 WordPress 博客,激活并启用了。
插件下载
来来来,这是 Young Free 初次制作的插件,欢迎下载测试。其实没什么用,就只在你们当地的网安大队要求你进行备案的时候才适用。
文件下载说明下,这里面核心代码,引用了几位大佬的成果,详见 WordPress评论管理界面添加用户IP端口和时间
IPv6支持
本插件完美支持 IPv4 和 IPv6 服务器环境以及 IPv4 和 IPv6 访客。IPv6 访客记录见下图。