Pix主题16:修复消息盒子默认显示“未读消息”
如上图:默认情况下总显示有未读消息(我是6条,还有别的数字)
现象
正常访问首页时,右上角消息角标默认显示 6,消息盒子提示“您有6条未读消息”,但实际没有未读。
根因
未读数通过 get_unread_number() 按“当前访客邮箱”查询。
当访客 没有邮箱(未登录且从未评论) 时,原逻辑会用空邮箱 '' 去查询数据库:
站点历史数据里如果存在 r_email='' 的记录(很常见于早期异常写入/迁移),就会被所有“无邮箱访客”命中,从而出现固定的“6条未读”。
修复内容(最小改动,不影响消息盒子正常使用)
仅修改 pix/inc/pix-msg.php:
- get_unread_number():邮箱为空直接返回 0;并改为 $wpdb->prepare() 查询。
- update_unread_msg():邮箱为空直接返回;并改为 $wpdb->prepare() 更新。
- get_msg_list():邮箱为空时不再读取列表,继续显示“需要首次评论以获取消息”。
覆盖文件
解压后覆盖到主题目录:
pix/inc/pix-msg.php
文件下载
Pix-未读消息默认6修复包.tar.gz
链接:https://www.123912.com/s/VIpVTd-hwTKh?pwd=evan#
提取码:evan
备注:覆盖文件之前,一定要备份这个文件。切忌!
© 2026 EVAN.XIN · Attribution Required




赶快写下您的首评!