
# OneNav 最近访问面板(独立插件)
「头部最近访问下拉面板」独立 WordPress 插件。
## 功能
– 在 OneNav 头部工具栏、登录/用户图标左侧插入一个「时钟」图标;
– 悬停展开下拉:全部 / 网址 / 文章 / 工具 四个筛选标签;
– 显示标题、类型、相对时间、站点图标;
– 支持单条删除、一键清空;
– 底部「查看更多」跳转到 OneNav 用户中心足迹页;
– 数据完全存在浏览器 `localStorage`(键名 `ioUserFootprint_<uid>`),不写数据库;
– 移动端(≤992px)自动隐藏,与原子主题一致。
## 前提
1. WordPress 6.0+、PHP 7.4+;
2. 当前主题为 **OneNav 或其子主题**(插件依赖 OneNav 的 `.header-tools` 结构和 `iconfont` 图标);
3. 访问记录由 **OneNav 父主题的 `main.js`** 写入:用户点击网址卡片上的「访问」按钮(`a.is-views`)时记录 `post_id / post_type / visit_time`,保留最近 7 天。也就是说,足迹数据不是本插件产生的,插件只负责“读出来并展示”。
## 安装
1. 后台 → 插件 → 安装插件 → 上传 `onenav-recent-visits.zip`;
2. 启用「OneNav 最近访问面板」;
3. 前台刷新,头部工具栏登录图标左边出现时钟图标。
### 「查看更多」跳转地址
默认 `home_url(‘/user/spoor’)`,有 OneNav 的 `io_get_uc_link()` 时优先用它。需要改:
“`php
add_filter( ‘onrv_more_url’, function () {
return home_url( ‘/user/spoor’ );
} );
“`
### 非 OneNav 主题也想加载
“`php
add_filter( ‘onrv_should_load’, ‘__return_true’ );
“`
(非 OneNav 主题缺少对应结构和图标字体,需自行补样式。)
### AJAX 接口
– action:`onenav_recent_list`
– 参数:`posts`(JSON 字符串,元素含 `post_id`、`visit_time`)
– 返回:`wp_send_json_success` 数组,每项 `id / title / link / icon / time`
只返回 `post_status = publish` 的文章公开信息,单次最多 60 条;不读取用户隐私字段。
## 与子主题同款面板共存
脚本会先检测页面是否已存在 `.nav-recent`,存在就跳过,不会出现两个时钟图标。
## 卸载
停用并删除插件即可;插件不写数据库、不加选项,无残留。
## 文件清单
onenav-recent-visits/
├── onenav-recent-visits.php # 插件入口:加载、AJAX、过滤器
├── assets/
│ ├── recent-visits.css # 下拉面板样式(含暗黑模式、移动端隐藏)
│ └── recent-visits.js # 插入图标、读取 localStorage、渲染列表
└── readme.md
“`
## 说明
– 所有列表 HTML 用 `textContent` 拼装,标题不会被当作 HTML 执行;
– 图标地址走 `get_favicon_api_url()`(OneNav 自带),取不到时回退显示标题首字;
– 删除/清空只操作本地 `localStorage`,不影响服务器数据。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...





