当前位置: 首页 > emlog > 正文

和豆包苦战数日,终究未能实现 simply 主题侧栏“最新评论”屏蔽博主留言的功能。

先测试代码逻辑是否可行

机缘巧合下,获得威兄的帮助,实现了我想要的功能。具体分为两步来实现,首先是找到主题原来的侧栏最新评论代码,在 module.php 文件中,(可以通过关键字搜索进行定位)具体是这段:


global $CACHE;
$com_cache = $CACHE->readCache('comment');

下面添加管理员邮箱地址:


$admin_mail = 'aaaa@123.com'; // 管理员邮箱

第二处要修改的地方是对所设置邮箱进行过滤,找到这段输出评论的代码:


$url = Url::comment($value['gid'], $value['page'], 'comment-' . $value['cid']);

前增加屏蔽管理员(前面设置的那个邮箱)邮箱的代码:


// 跳过管理员评论
if (isset($value['mail']) && strtolower(trim($value['mail'])) === strtolower($admin_mail)) {
  continue;
}

再将手动邮箱改成自动识别管理员邮箱

如果要实现自动屏蔽,需要将上面涉及管理员邮箱的代码换成获取管理员的代码,目前是通过id为1的用户来确定管理员的(可以做成主题开关变成半自动确认管理员),只有可以改成自动识别管理员才是完美方案。

将手动设置管理员邮箱的那行代码换成:


$users = $CACHE->readCache('user');
$admin_mail = isset($users[1]['mail']) ? $users[1]['mail'] : ''; // 自动获取管理员邮箱

就是直接过滤id为1的用户的邮箱,算是比较成熟的方案了,以后有机会再改进。

PS:wordpress 好像并不支持直接防止大量原生 php 代码在文章中,所以只好贴上点片段,完成笔记。

实现 emlog 主题 simply 的侧栏无博主评论:等您坐沙发呢!

发表评论

gravatar

? razz sad evil ! smile oops grin eek shock ??? cool lol mad twisted roll wink idea arrow neutral cry mrgreen

快捷键:Ctrl+Enter