💬 评论列表网格卡片式布局优化
功能描述: 后台「评论」页面完全重构,采用网格卡片式布局,拟态玻璃质感UI设计,支持懒加载、多选批量操作、自定义确认弹窗等功能。优化内容:
- 网格卡片式布局
- 玻璃拟态UI设计
backdrop-filter: blur() 毛玻璃效果
– 渐变色彩头部区域
– 统一的圆角设计 var(--admin-radius-xl)
– 悬停上浮动画效果
- 懒加载机制
- 搜索功能优化
- 状态筛选栏
- 自定义排序
- 多选批量操作
- 自定义确认弹窗
- 快捷操作按钮
- 回复评论弹窗
- 响应式设计
- 隐藏原生元素
代码寻找:
- 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
AJAX 接口:
shiroki_get_comments– 获取评论列表(支持分页、筛选、搜索)
page, per_page, status, search, post_id
– 返回: comments, current_page, has_moreshiroki_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设计,支持懒加载、详情抽屉、自动保存等功能。
- 优化内容:
- 代码寻找:
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条,滚动自动加载更多,搜索功能不受懒加载影响。优化内容:
- 懒加载机制
- 搜索功能优化
- 筛选功能保持懒加载
- 排序功能
代码寻找:
- 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.cssassets/css/markdown-editor.cssassets/js/admin/post-edit/post-edit.jscore/module/post-edit/fun-post-edit-layout.php
- 双栏布局重构
- 玻璃拟态效果
backdrop-filter: blur() 实现毛玻璃效果
– 半透明背景色 rgba() 配合玻璃边框
– 统一的圆角设计 var(--admin-radius-lg)
- 工具栏整合
- 分类列表圆角按钮
- 标签输入优化
- 标签云同步
- 标题输入框
# SVG图标
– 文本缩进避免盖住图标
- 特色图片区域
- 发布区域优化
- 移动端适配
- textarea 移动端适配优化
field-sizing: content 支持现代浏览器根据内容自动调整高度
– 添加 resize: vertical 允许用户手动调整高度
– 设置合理的 min-height 确保编辑区域有足够空间
– 防止内容超出页面宽度
– 所有容器添加 max-width: 100% 限制最大宽度
– 添加 overflow-x: hidden 防止水平溢出
– textarea 添加 width: 100% 强制宽度为100%
– 添加 word-wrap: break-word 和 white-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
moveToolbarElements()– 移动工具栏元素到对应容器removeEmptyEditorTools()– 删除空的编辑器工具栏容器addMetaBoxIcons()– 为元框标题添加图标- 移动端工具栏浮动按钮和模态框交互
📄 页面列表网格卡片式布局优化
问题描述: 后台「页面 > 所有页面」需要与「文章 > 所有文章」新UI风格保持一致,采用网格卡片式布局,支持多选批量操作。修复文件:
assets/css/admin/post-grid/post-grid.cssassets/js/admin/page-grid/page-grid.jscore/module/page-grid/fun-page-grid.php
- 网格卡片式布局
- 状态筛选栏
- 父页面筛选
- 搜索功能
- 多选批量操作
- 批量修改父级页面
- 自定义确认对话框
- 快捷操作按钮
- 防止重复提交
- 响应式设计
涉及的 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– 自定义确认对话框
ShirokiPageGrid– 页面网格管理器主对象toggleSelection()– 切换卡片选择状态updateBulkActions()– 更新批量操作工具栏显示bulkCopyContent()– 批量复制页面bulkSetParent()– 批量修改父级页面openBulkParentModal()– 打开父页面选择模态框renderBulkParentOptions()– 渲染父页面选项bindBulkParentModalEvents()– 绑定模态框事件showConfirmDialog()– 显示自定义确认对话框bulkDelete()– 批量删除页面
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.csscore/module/post-edit/fun-post-edit-layout.php
- 响应式断点调整
- 浮动工具箱按钮
top: 50px, left: 50%)
– 样式:圆角胶囊按钮,带阴影和玻璃拟态效果
– 图标:🧰 工具箱 / ✕ 关闭
– 点击切换显示/隐藏工具面板
- 工具面板模态框
- 内容克隆机制
cloneNode(true) 复制原工具栏内容
– 保留所有按钮的事件绑定
– 只克隆一次,避免重复操作
- 按钮事件委托处理
send_to_editor(code) 插入
– MD工具按钮:通过class匹配触发原按钮点击
– Quicktags按钮:通过ID匹配触发原按钮点击
– 添加媒体按钮:触发原媒体按钮点击
- 自动关闭窗口
- 布局调整
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)– 响应式断点
cloneToolbarContent()– 克隆工具栏内容到模态框openModal()– 打开工具面板closeModal()– 关闭工具面板- 事件委托处理模态框内按钮点击
- 各类型按钮的点击处理逻辑
- 用户点击浮动按钮 “🧰 工具箱”
- 克隆原工具栏内容到模态框(首次)
- 显示模态框,按钮变为 “✕ 关闭”
- 用户点击工具按钮(如短代码)
- 触发对应功能(如插入短代码到编辑器)
- 延迟150ms后自动关闭模态框
- 按钮恢复为 “🧰 工具箱”
评论(2)