Pix主题16:修复消息盒子默认显示“未读消息”

如上图:默认情况下总显示有未读消息(我是6条,还有别的数字)

现象

正常访问首页时,右上角消息角标默认显示 6,消息盒子提示“您有6条未读消息”,但实际没有未读。

根因

未读数通过 get_unread_number() 按“当前访客邮箱”查询。
当访客 没有邮箱(未登录且从未评论) 时,原逻辑会用空邮箱 '' 去查询数据库:

站点历史数据里如果存在 r_email='' 的记录(很常见于早期异常写入/迁移),就会被所有“无邮箱访客”命中,从而出现固定的“6条未读”。

修复内容(最小改动,不影响消息盒子正常使用)

仅修改 pix/inc/pix-msg.php:

  1. get_unread_number():邮箱为空直接返回 0;并改为 $wpdb->prepare() 查询。
  2. update_unread_msg():邮箱为空直接返回;并改为 $wpdb->prepare() 更新。
  3. 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

消息盒子
# 您需要首次评论以获取消息 #
# 您需要首次评论以获取消息 #

只显示最新10条未读和已读信息