0%
boxmoe_header_banner_img

加载中

「盒子萌Lolimeow」主题二创「纸鸢版🕊️更新」与「🗼开发笔记」


avatar
白木 2025年8月27日 2026年7月4日 4.25k

💬 评论列表网格卡片式布局优化

功能描述: 后台「评论」页面完全重构,采用网格卡片式布局,拟态玻璃质感UI设计,支持懒加载、多选批量操作、自定义确认弹窗等功能。

优化内容:

  1. 网格卡片式布局

– 卡片显示评论者头像、名称、邮箱、评论内容
– 文章信息以勋章样式展示,14种明亮浅色随机分配
– 状态标签(已批准、待审核、垃圾、回收站)
– 回复数量标识

  1. 玻璃拟态UI设计

– 半透明背景配合 backdrop-filter: blur() 毛玻璃效果
– 渐变色彩头部区域
– 统一的圆角设计 var(--admin-radius-xl)
– 悬停上浮动画效果

  1. 懒加载机制

– 默认首次加载8条评论
– 向下滚动到底部附近(距离200px)自动加载8条
– 以此类推,直到加载完所有评论
– 滚动监听使用防抖处理(100ms)

  1. 搜索功能优化

– 搜索模式下不受懒加载限制
– 直接加载所有匹配的搜索结果
– 实时搜索(300ms防抖)
– 搜索框位于顶部工具栏右侧

  1. 状态筛选栏

– 全部、待审核、已批准、垃圾评论、回收站筛选
– 显示各状态评论数量
– 点击切换筛选条件
– 「全部」分类包含所有状态(approve、hold、spam、trash)

  1. 自定义排序

– 「全部」分类:待审核排最前,回收站排最后
– 其他分类:按日期倒序,最新的在前
– 使用 MySQL FIELD 函数实现自定义排序优先级

  1. 多选批量操作

– 点击卡片或选择圆圈进入多选模式
– 批量操作工具栏显示已选择数量
– 支持功能:批准、驳回、标记垃圾、移至回收站、永久删除、取消选择

  1. 自定义确认弹窗

– 批量删除、移至回收站、标记垃圾时使用自定义确认弹窗
– 与整体UI风格一致(玻璃拟态)
– 显示选中的评论数量(高亮)
– 不同类型操作不同颜色按钮(删除红色、垃圾紫色、回收站橙色、恢复绿色)

  1. 快捷操作按钮

– 查看、编辑、回复、批准/驳回、标记垃圾、移至回收站/还原、永久删除
– 一行3个按钮布局,图标+文字垂直排列
– 悬停效果:背景色变化+轻微上浮

  1. 回复评论弹窗

– 玻璃拟态设计风格
– 显示原文内容预览
– 文本框支持多行输入
– 发送回复后自动刷新列表

  1. 响应式设计

– 桌面端:多列网格布局(auto-fill minmax 320px)
– 平板端:减少列数,适配中等屏幕
– 移动端:单列布局,优化触摸区域

  1. 隐藏原生元素

– 隐藏 WordPress 原生评论列表表格
– 隐藏原生分页导航
– 隐藏底部状态筛选链接(.subsubsub)

代码寻找:

  • PHP后端: wp-content/themes/lolimeow/core/module/comment-grid/fun-comment-grid.php (Shiroki_Comment_Grid_UI类)

ajax_get_comments() – 获取评论列表(支持分页和搜索)
– 非搜索模式:per_page = 8,支持分页
– 搜索模式:不限制数量,加载所有结果
format_comment_item() – 格式化评论数据
ajax_approve_comment() / ajax_unapprove_comment() – 批准/驳回评论
ajax_spam_comment() / ajax_unspam_comment() – 标记/恢复垃圾评论
ajax_trash_comment() / ajax_untrash_comment() – 移至/还原回收站
ajax_delete_comment() – 永久删除评论
ajax_reply_comment() – 回复评论
ajax_bulk_action_comments() – 批量操作评论

  • JS前端: wp-content/themes/lolimeow/assets/js/admin/comment-grid/comment-grid.js (CommentGrid对象)

perPage = 8 – 每页加载数量配置
loadComments() / loadMoreComments() – 加载评论列表/懒加载
appendComments() – 追加评论到现有列表
initLazyLoad() – 初始化滚动监听
showBulkConfirmModal() – 显示批量操作确认弹窗
createCommentCard() – 创建评论卡片HTML
handleSingleAction() / executeAction() – 处理单个操作
handleBulkAction() / executeBulkAction() – 处理批量操作
openReplyModal() – 打开回复弹窗
showToast() – 显示Toast提示

  • CSS样式: wp-content/themes/lolimeow/assets/css/admin/comment-grid/comment-grid.css

.shiroki-comment-wrapper – 评论网格容器
.shiroki-comment-top-bar – 顶部工具栏(筛选 + 搜索 + 批量操作)
.shiroki-comment-grid – 网格容器
.shiroki-comment-card – 评论卡片
.shiroki-comment-select-circle – 多选圆圈
.shiroki-comment-post-badge – 文章勋章(14种颜色)
.shiroki-comment-actions – 操作按钮区域(一行3个)
.shiroki-comment-bulk-actions – 批量操作工具栏
.shiroki-comment-bulk-confirm-modal – 批量确认弹窗
.shiroki-comment-reply-modal – 回复弹窗
.shiroki-comment-load-more – 懒加载更多指示器

  • 变量管理: wp-content/themes/lolimeow/assets/css/admin/admin-variables.css

– 复用短代码按钮颜色变量(–sc-btn-
– 玻璃拟态效果变量(–admin-glass-blur, –admin-border-glass)

AJAX 接口:

  • shiroki_get_comments – 获取评论列表(支持分页、筛选、搜索)

– 参数: page, per_page, status, search, post_id
– 返回: comments, current_page, has_more

  • shiroki_approve_comment – 批准评论
  • shiroki_unapprove_comment – 驳回评论
  • shiroki_spam_comment – 标记垃圾评论
  • shiroki_unspam_comment – 恢复垃圾评论
  • shiroki_trash_comment – 移至回收站
  • shiroki_untrash_comment – 还原评论
  • shiroki_delete_comment – 永久删除评论
  • shiroki_reply_comment – 回复评论
  • shiroki_bulk_action_comments – 批量操作评论

文件变更:

  • core/module/comment-grid/fun-comment-grid.php – 新增评论网格UI主类
  • assets/js/admin/comment-grid/comment-grid.js – 新增评论网格交互逻辑
  • assets/css/admin/comment-grid/comment-grid.css – 新增评论网格样式
  • functions.php – 加载新模块

 
 
 

🪟 媒体弹窗优化

  • 功能描述: 完全替换 WordPress 原生媒体弹窗,采用玻璃拟态UI设计,支持懒加载、详情抽屉、自动保存等功能。
  • 优化内容:

玻璃拟态UI设计: 浅蓝色渐变主题,半透明背景配合毛玻璃效果,与后台整体风格统一。
懒加载机制: 默认每次加载21条附件,向下滚动自动加载更多,搜索模式下加载全部结果。
分类筛选: 支持所有多媒体项目、上传到本文章、图片、音频、视频、文档、试算表、归档、孤立、我的等分类筛选。
日期筛选: 支持按年月筛选附件。
搜索功能: 实时搜索(300ms防抖),搜索时加载所有匹配结果。
详情抽屉: 双击附件从右侧展开抽屉,显示完整附件信息(标题、题注、替代文本、描述、文件信息)。
自动保存: 关闭抽屉时检测变更,自动保存并同步更新网格显示。
复制链接: 详情抽屉内提供复制文件URL按钮,支持现代Clipboard API和降级方案。
插入功能: 根据文件类型智能插入(图片用img标签、视频用短代码、音频用短代码、其他文件用短代码)。
悬停提示: 鼠标悬停附件显示【双击可查看详情】气泡提示,跟随鼠标位置避免被裁剪。
顶部通知: 保存成功/失败提示从底部改为顶部显示。
响应式设计: 移动端适配,抽屉全屏显示。

  • 代码寻找:

PHP后端: wp-content/themes/lolimeow/core/module/media-library/fun-media-modal.php (Shiroki_Media_Modal类)
ajax_get_media_items() – 获取媒体列表(支持分页和搜索)
ajax_upload_media() – 处理文件上传
ajax_get_media_detail() – 获取附件详情
ajax_save_media_detail() – 保存附件详情
ajax_delete_media() – 删除附件
format_media_item() – 格式化媒体项数据
JS前端: wp-content/themes/lolimeow/assets/js/admin/media-library/media-modal.js (ShirokiMediaModal对象)
loadMediaItems() / loadMoreItems() – 加载媒体列表/懒加载
openDetailDrawer() / closeDetailDrawer() – 打开/关闭详情抽屉
saveDetailData() – 保存详情数据
copyUrlToClipboard() / fallbackCopyUrl() – 复制链接功能
showTooltip() / hideTooltip() – 悬停提示气泡
insertToEditor() – 插入到编辑器
CSS样式: wp-content/themes/lolimeow/assets/css/admin/media-library/media-modal.css
.shiroki-media-modal-container – 弹窗容器
.shiroki-media-modal-grid – 媒体网格
.shiroki-media-detail-drawer – 详情抽屉
.shiroki-media-tooltip – 悬停提示气泡
.shiroki-media-save-notification – 保存通知
变量管理: wp-content/themes/lolimeow/assets/css/admin/admin-variables.css
--admin-gradient-light-blue – 浅蓝色渐变
--admin-light-blue-
– 浅蓝色系变量

  • AJAX 接口:

shiroki_get_media_modal_items – 获取媒体列表(支持分页、筛选、搜索)
shiroki_upload_media_modal – 上传文件
shiroki_get_media_detail – 获取附件详情
shiroki_save_media_detail – 保存附件详情
shiroki_delete_media – 删除附件

 
 
 
 

📚 媒体库懒加载优化

功能描述: 后台「媒体 > 媒体库」页面改为懒加载模式,默认加载8条,滚动自动加载更多,搜索功能不受懒加载影响。

优化内容:

  1. 懒加载机制

– 默认首次加载8条媒体文件
– 向下滚动到底部附近自动加载8条
– 以此类推,直到加载完所有媒体
– 滚动监听使用防抖处理(200ms)

  1. 搜索功能优化

– 搜索模式下不受懒加载限制
– 直接加载所有匹配的搜索结果
– 实时搜索(300ms防抖)
– 搜索时隐藏懒加载触发器

  1. 筛选功能保持懒加载

– 分类筛选(全部、图片、视频、音频、文档、文件)
– 筛选状态下保持每次加载8条
– 切换筛选条件重置分页

  1. 排序功能

– 支持按日期、名称、大小、类型排序
– 点击排序按钮切换升序/降序
– 排序后重置分页重新加载

代码寻找:

  • PHP后端: wp-content/themes/lolimeow/core/module/media-library/fun-media-library.php (Shiroki_Media_Library_UI类)

ajax_get_media_items() – 获取媒体列表(支持分页和搜索)
– 非搜索模式:posts_per_page = 8,支持分页
– 搜索模式:posts_per_page = -1,加载所有结果
format_media_item() – 格式化媒体项数据
filter_document_mime_type() – 文档类型筛选
filter_file_mime_type() – 文件类型筛选

  • JS前端: wp-content/themes/lolimeow/assets/js/admin/media-library/media-library.js (ShirokiMediaLibrary对象)

state.perPage = 8 – 每页加载数量配置
loadMediaItems() – 加载媒体列表
– 滚动监听事件 – 检测底部触发懒加载
– 搜索输入事件 – 搜索时禁用懒加载

  • CSS样式: wp-content/themes/lolimeow/assets/css/admin/media-library/media-library.css

.shiroki-media-grid – 媒体网格容器
.shiroki-media-card – 媒体卡片
.shiroki-media-loading – 加载状态

AJAX 接口:

  • shiroki_get_media_items – 获取媒体列表(支持分页、筛选、搜索)

– 参数: page, per_page, search, filter, sort, order
– 返回: items, has_more, total

文件变更:

  • assets/js/admin/media-library/media-library.js – 添加懒加载逻辑和搜索模式判断
  • core/module/media-library/fun-media-library.php – 后端分页逻辑,搜索模式返回全部

 
 
 

🎨 文章编辑页面玻璃拟态UI风格优化

问题描述: 文章编辑页面(post-new.php / post.php)需要与文章列表网格卡片式布局统一UI风格,采用玻璃拟态设计。

修复文件:

  • assets/css/admin/post-edit/post-edit.css
  • assets/css/markdown-editor.css
  • assets/js/admin/post-edit/post-edit.js
  • core/module/post-edit/fun-post-edit-layout.php

优化内容:

  1. 双栏布局重构

– 左侧:元框区域(分类、标签、发布等)+ 工具栏
– 右侧:主编辑区域(标题、编辑器)
– 使用 CSS Grid 实现响应式布局

  1. 玻璃拟态效果

– 背景使用 backdrop-filter: blur() 实现毛玻璃效果
– 半透明背景色 rgba() 配合玻璃边框
– 统一的圆角设计 var(--admin-radius-lg)

  1. 工具栏整合

– 添加媒体按钮、短代码选择器、MD工具栏、Quicktags工具栏
– 统一移动到左侧工具栏区域
– 彩色按钮样式,每个按钮不同颜色

  1. 分类列表圆角按钮

– 分类复选框改为圆角按钮样式
– 默认淡灰色,选中高亮橙色
– 热门分类特殊标记(淡黄色)

  1. 标签输入优化

– 输入框和添加按钮并排显示
– 输入框默认显示浅色边框,聚焦后加深
– 添加按钮蓝色渐变背景

  1. 标签云同步

– 标签云改为圆角按钮风格
– 与分类列表保持一致的UI风格

  1. 标题输入框

– 添加蓝色 # SVG图标
– 文本缩进避免盖住图标

  1. 特色图片区域

– 设置特色图片按钮自适应宽度
– 虚线边框提示可点击

  1. 发布区域优化

– 发布按钮自适应容器宽度
– 删除操作红色警告风格
– 复制文章按钮整合

  1. 移动端适配

– 小屏幕改为单栏布局
– 工具栏改为浮动按钮+模态框
– 侧边栏隐藏,释放空间

  1. textarea 移动端适配优化

问题描述: 在移动端、平板端时,textarea 编辑区域不能像桌面端一样根据内容长度自动扩展,且内容会超出页面宽度
textarea 高度自适应
– 添加 field-sizing: content 支持现代浏览器根据内容自动调整高度
– 添加 resize: vertical 允许用户手动调整高度
– 设置合理的 min-height 确保编辑区域有足够空间
防止内容超出页面宽度
– 所有容器添加 max-width: 100% 限制最大宽度
– 添加 overflow-x: hidden 防止水平溢出
– textarea 添加 width: 100% 强制宽度为100%
– 添加 word-wrap: break-wordwhite-space: pre-wrap 确保长文本自动换行
响应式适配
平板端 (max-width: 1024px): 分屏模式改为垂直堆叠
移动端 (max-width: 782px): 单栏布局,编辑器容器优化
超小屏幕 (max-width: 480px): 进一步压缩内边距,优化触摸区域

涉及的 CSS 选择器:

  • .shiroki-editor-layout – 双栏布局主容器
  • .shiroki-editor-sidebar – 左侧元框区域
  • .shiroki-editor-main – 右侧编辑区域
  • .shiroki-editor-toolbar – 工具栏容器
  • #categorychecklist, #categorychecklist-pop – 分类列表
  • .wp-tag-cloud – 标签云
  • .newtag, .tagadd – 标签输入和添加按钮
  • #title – 标题输入框
  • #set-post-thumbnail – 特色图片按钮
  • #publish – 发布按钮
  • #delete-action – 删除操作区域
  • .post-new-php .wp-editor-area, .post-php .wp-editor-area – 编辑器文本域
  • .post-new-php textarea#content, .post-php textarea#content – 内容文本域
  • #wp-content-editor-container textarea#content – 编辑器容器内文本域
  • 各层父容器: #wpbody-content, .shiroki-editor-layout, .shiroki-editor-main, #postdivrich, #wp-content-wrap

涉及的 JS 功能:

  • moveToolbarElements() – 移动工具栏元素到对应容器
  • removeEmptyEditorTools() – 删除空的编辑器工具栏容器
  • addMetaBoxIcons() – 为元框标题添加图标
  • 移动端工具栏浮动按钮和模态框交互

 
 
 

📄 页面列表网格卡片式布局优化

问题描述: 后台「页面 > 所有页面」需要与「文章 > 所有文章」新UI风格保持一致,采用网格卡片式布局,支持多选批量操作。

修复文件:

  • assets/css/admin/post-grid/post-grid.css
  • assets/js/admin/page-grid/page-grid.js
  • core/module/page-grid/fun-page-grid.php

优化内容:

  1. 网格卡片式布局

– 复用文章网格的CSS样式,统一管理
– 卡片显示页面特色图片、标题、作者、父页面、日期
– 状态标签(已发布、草稿、待审核、回收站)
– 密码保护标识、子页面数量标识

  1. 状态筛选栏

– 全部、已发布、草稿、待审核、回收站筛选
– 显示各状态页面数量
– 点击切换筛选条件

  1. 父页面筛选

– 支持按顶级页面筛选
– 支持按特定父页面筛选
– 按钮式切换,圆角设计

  1. 搜索功能

– 独立搜索框,靠右显示
– 实时搜索(500ms防抖)
– 支持按页面标题搜索

  1. 多选批量操作

– 点击卡片或选择圆圈进入多选模式
– 批量操作工具栏显示已选择数量
– 支持功能:复制链接、复制页面、修改父级、批量删除、取消选择

  1. 批量修改父级页面

– 模态框选择新父页面
– 支持搜索过滤父页面
– 排除已选中的页面(防止循环引用)
– 提供「设为顶级页面」选项

  1. 自定义确认对话框

– 批量删除时使用自定义确认对话框
– 与整体UI风格一致(玻璃拟态)
– 显示选中的页面数量(高亮)
– 危险操作红色警告风格

  1. 快捷操作按钮

– 查看、编辑、复制链接、复制页面、回收站/还原
– 复制页面功能(创建副本为草稿)

  1. 防止重复提交

– 批量操作添加状态锁
– 防止重复初始化
– 防止重复点击

  1. 响应式设计

– 桌面端:多列网格布局
– 平板端:减少列数
– 移动端:单列布局,优化触摸区域

涉及的 CSS 选择器:

  • .shiroki-post-wrapper – 页面网格容器
  • .shiroki-post-top-bar – 顶部工具栏(筛选 + 批量操作)
  • .shiroki-post-search-wrapper – 搜索框容器
  • .shiroki-post-toolbar – 父页面筛选工具栏
  • .shiroki-post-grid – 网格容器
  • .shiroki-post-card – 页面卡片
  • .shiroki-post-select-circle – 多选圆圈
  • .shiroki-post-bulk-actions – 批量操作工具栏
  • .shiroki-post-bulk-parent-modal – 批量修改父页面模态框
  • .shiroki-confirm-dialog – 自定义确认对话框

涉及的 JS 功能:

  • ShirokiPageGrid – 页面网格管理器主对象
  • toggleSelection() – 切换卡片选择状态
  • updateBulkActions() – 更新批量操作工具栏显示
  • bulkCopyContent() – 批量复制页面
  • bulkSetParent() – 批量修改父级页面
  • openBulkParentModal() – 打开父页面选择模态框
  • renderBulkParentOptions() – 渲染父页面选项
  • bindBulkParentModalEvents() – 绑定模态框事件
  • showConfirmDialog() – 显示自定义确认对话框
  • bulkDelete() – 批量删除页面

AJAX 接口:

  • shiroki_get_pages – 获取页面列表
  • shiroki_trash_page – 单个页面移到回收站
  • shiroki_restore_page – 还原页面
  • shiroki_bulk_trash_pages – 批量移到回收站
  • shiroki_clone_page – 复制单个页面
  • shiroki_clone_pages – 批量复制页面
  • shiroki_bulk_set_parent – 批量修改父级页面

 
 
 

📝 文章编辑页面工具栏布局优化

问题描述: 在1400px以下屏幕宽度时,左侧工具栏(媒体、短代码、MD工具、Quicktags)占用空间过大,需要优化为浮动按钮+模态框形式,释放编辑区域空间。

修复文件:

  • assets/css/admin/post-edit/post-edit.css
  • core/module/post-edit/fun-post-edit-layout.php

优化内容:

  1. 响应式断点调整

– 断点从991px逐步调整为1400px
– 1400px以下:隐藏侧边栏,释放空间给编辑器
– 1400px以下:原工具栏隐藏,显示浮动按钮

  1. 浮动工具箱按钮

– 位置:页面顶部中间固定 (top: 50px, left: 50%)
– 样式:圆角胶囊按钮,带阴影和玻璃拟态效果
– 图标:🧰 工具箱 / ✕ 关闭
– 点击切换显示/隐藏工具面板

  1. 工具面板模态框

– 玻璃拟态设计风格
– 圆角卡片式布局
– 包含所有工具区域:媒体、短代码、MD工具、Quicktags
– 标题栏:🧰 编辑工具箱 + 关闭按钮
– 背景模糊遮罩,点击背景可关闭

  1. 内容克隆机制

– 使用 cloneNode(true) 复制原工具栏内容
– 保留所有按钮的事件绑定
– 只克隆一次,避免重复操作

  1. 按钮事件委托处理

– 短代码按钮:直接调用 send_to_editor(code) 插入
– MD工具按钮:通过class匹配触发原按钮点击
– Quicktags按钮:通过ID匹配触发原按钮点击
– 添加媒体按钮:触发原媒体按钮点击

  1. 自动关闭窗口

– 点击任意工具按钮后,延迟150ms自动关闭模态框
– 确保操作先执行完成再关闭

  1. 布局调整

– 1400px以下:网格布局改为单列 grid-template-columns: 1fr
– 编辑器区域占满全部宽度
– 侧边栏完全隐藏 display: none !important

涉及的 CSS 选择器:

  • .shiroki-toolbar-float-btn – 浮动工具箱按钮
  • .shiroki-toolbar-mobile-modal – 移动端工具面板模态框
  • .shiroki-toolbar-mobile-modal-backdrop – 模态框背景
  • .shiroki-toolbar-mobile-modal-content – 模态框内容区
  • .shiroki-toolbar-mobile-modal-header – 模态框头部
  • .shiroki-toolbar-mobile-modal-body – 模态框主体
  • .shiroki-toolbar-mobile-modal-footer – 模态框底部
  • @media screen and (max-width: 1400px) – 响应式断点

涉及的 JS 功能:

  • cloneToolbarContent() – 克隆工具栏内容到模态框
  • openModal() – 打开工具面板
  • closeModal() – 关闭工具面板
  • 事件委托处理模态框内按钮点击
  • 各类型按钮的点击处理逻辑

交互流程:

  1. 用户点击浮动按钮 “🧰 工具箱”
  2. 克隆原工具栏内容到模态框(首次)
  3. 显示模态框,按钮变为 “✕ 关闭”
  4. 用户点击工具按钮(如短代码)
  5. 触发对应功能(如插入短代码到编辑器)
  6. 延迟150ms后自动关闭模态框
  7. 按钮恢复为 “🧰 工具箱”

 
 
 

上一次更新已经跑远惹✨ 计算中...
(‾◡◝) 本内容里的一些消息,可能已经跟不上时间啦~
感谢您的支持
微信赞赏

微信扫一扫

支付宝赞赏

支付宝扫一扫



评论(2)

查看评论列表
评论头像
小笨蛋 2026年01月13日
赞!
评论头像
小笨蛋 2026年01月13日
不错不错ツ

发表评论

表情 颜文字
插入代码

北京时间 (Asia/Shanghai)

后退
前进
刷新
复制
粘贴
全选
删除
返回首页
0%
目录
顶部
底部
📖 文章导读