WP Manifestindependent plugin directory
manifest / content / apps_exhibition

应用页面插件

一个用来制作APP商店的wordpress页面插件,简单几步就可以部署一个属于你的APP商店

by 木木 · github.com/jacky088/apps_exhibition · website

1stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/jacky088/apps_exhibition/archive/refs/heads/main.zip

一个用来快速搭建「APP 商店」风格展示页的 WordPress 插件。

通过一个简单的短代码,你就可以在任意页面输出整洁的 APP 列表,适合个人 / 团队 / 公司以网页形式展示自家应用。


功能特性

  • 在一个页面集中展示多个 APP 信息
  • 支持显示应用名称、简介、图标、平台标签、下载按钮
  • 支持多下载链接(最多 3 个按钮)
  • 前端分类筛选,支持一个应用归属多个分类
  • 前端筛选栏单行横向滚动(桌面/移动端一致),分类再多也不换行;桌面端配左右箭头与滚轮横滚,溢出时自动显示
  • 后台按分类拖拽排序,精确控制每个分类下的前端展示顺序
  • 分类设置采用列表式管理:顶部输入框 + 添加按钮,下方逐行展示每个分类;左侧手柄拖拽排序,右侧铅笔改名、垃圾桶删除(带二次确认)
  • 分类顺序保存后自动同步为前端筛选栏标签的展示顺序
  • 改名自动迁移:分类改名保存后,自动将应用中引用的旧分类名更新为新名,无需再手动「批量移动分类」
  • 同名分类不可添加(忽略大小写),前端与后端双重校验
  • 首页海报轮播(Swiper),支持自定义下载链接、拖拽排序(保存后前端按序展示)
  • 海报配置卡片支持「更换图片」「删除图片」,操作均带二次确认弹窗
  • 模态框式后台管理,添加/编辑应用无需刷新页面
  • 搜索过滤 + 批量删除
  • 删除应用 / 移除图标 / 移除海报时自动清理媒体库中的孤儿图片(仍被引用的图片不会误删)
  • 多端自适应(桌面/平板/手机)
  • PC端悬停卡片显示下载按钮(背景模糊遮罩)
  • 移动端触摸点击显示/隐藏下载按钮
  • Transient 缓存加速前端查询
  • 使用短代码一键插入到任意页面或文章

环境要求

  • WordPress 5.6+
  • PHP 7.4+
  • MySQL 5.6+ / MariaDB 10.0+

安装

方法一:通过 WordPress 后台上传(推荐)

  1. GitHub Releases 下载最新 ZIP 压缩包
  2. 登录 WordPress 后台
  3. 前往 插件 → 安装插件 → 上传插件
  4. 上传 ZIP 文件并安装
  5. 点击 启用插件

方法二:手动上传到服务器

apps_exhibition 文件夹上传至:

wp-content/plugins/apps_exhibition/

然后在 WordPress 后台 插件 页面找到「应用页面插件」并启用。


使用方法

基本用法

在任意页面或文章中插入短代码:

[apps_exhibition]

发布后即可看到 APP 展示页面。

后台管理

启用插件后,左侧菜单会出现「应用展示」入口,包含三个 Tab:

Tab 功能
应用管理 添加/编辑/删除应用,按分类拖拽排序
分类设置 列表化管理筛选分类和应用平台标签:顶部输入+添加,逐行拖拽排序 / 改名 / 删除,保存后生效
首页海报 管理轮播海报及其下载链接

排序说明

  1. 在「应用管理」Tab 的工具栏选择一个分类
  2. 仅该分类下的应用会显示
  3. 拖拽行即可调整该分类在前端的展示顺序
  4. 松手后自动保存

说明:「分类设置」中拖拽调整的分类顺序,在点击「保存」后会同步为前端筛选栏标签的展示顺序。


界面预览

Apps Exhibition 预览


项目结构

apps_exhibition/
├── apps-exhibition.php         # 插件入口,单例类,注册钩子、AJAX、脚本
├── includes/
│   ├── admin.php               # 后台表单处理(CRUD、批量删除)
│   └── shortcode.php           # 前端短代码渲染逻辑
├── templates/
│   └── admin-page.php          # 后台管理页面模板
├── assets/
│   ├── css/
│   │   ├── admin.css           # 后台样式(模态框、拖拽、卡片等)
│   │   └── apps-exhibition.css # 前端展示样式
│   └── js/
│       ├── admin.js            # 后台交互(模态框、排序、海报管理)
│       └── apps-exhibition.js  # 前端交互(分类筛选、Swiper、排序渲染)
├── README.md
└── screenshot-preview-pc-app.png

技术要点

  • 单例模式 — 插件主类使用单例,避免重复实例化
  • Transient 缓存 — 前端查询结果缓存 1 小时,数据变更时自动清除
  • 按分类排序 — 排序数据存储在 wp_options,结构为 {分类名: [ID数组]}
  • 按需加载 — 前端 CSS/JS 仅在短代码被调用的页面加载

更新日志

v2.1.0

  • 「分类设置」由多行文本域改为列表式管理
  • 分类拖拽顺序保存后自动同步为前端筛选栏标签的展示顺序
  • 前端筛选栏改为单行横向滚动
  • 新增「改名自动迁移」
  • 新增同名不可添加策略
  • 标签的增删改与排序均需点击「保存」后才生效

v2.0.15

  • 首页海报管理界面重构
  • 首页海报支持拖拽排序
  • 编辑应用时,点击「移除」图标会弹出二次确认弹窗
  • 移除功能联动清理WP媒体库图片,避免产生孤儿图片

v2.0.11

  • 新增媒体库孤儿图片自动清理
  • 清理前做双重引用检查;删除时连同缩略图尺寸一并移除

v2.0.10

  • 移动端桌面端海报容器宽高比统一为 16:6

v2.0.9

  • 安全加固:Swiper 改为本地加载并锁定 10.3.1;后台 JS 输出转义修复;下载链接与海报 URL 增加 http/https 协议白名单
  • 修复表单保存缺少 wp_unslash 导致含引号输入(如 Tom's App)入库残留反斜杠、重复编辑不断累积的问题
  • 升级时自动迁移清洗历史数据中的反斜杠
  • 保存失败时在列表页保留并展示具体校验错误,不再只显示笼统的失败提示
  • 插件版本提升清理缓存时同步删除 _transient_timeout_ 孤儿行,避免 options 表缓慢膨胀
  • 修复移动端长文字分类滚动到边缘时激活胶囊蓝色背景右端被白色渐变遮罩漂白的问题
  • 后台新增「批量移动」功能
  • 修复后台"全选"会误选被分类筛选/搜索隐藏的行的问题,全选现仅作用于当前可见行

v2.0.8

  • 激活态胶囊视觉强化改用 outline 蓝色外圈 + inset 内阴影,彻底绕开父级 overflow:hidden 对外部阴影的裁剪,修复阴影缺失一块的问题
  • 插件版本提升时强制刷新所有前端缓存(CSS/JS 资源版本号随 VERSION 自动刷新,数据库 transient 自动清空)

v2.0.7

  • 修复移动端分类胶囊横向滚动时越过圆角卡片右边界的问题
  • 修复激活态胶囊阴影在 iOS/部分 Android 浏览器偶发渲染缺失一块的问题
  • 插件版本提升时强制刷新所有前端缓存,避免旧版本 transient 残留

v2.0.6

  • 分类筛选增加「全部」选项
  • 分类切换 URL 联动(支持浏览器前进/后退)
  • DOM 操作优化(DocumentFragment 批量插入)
  • 移除平台标签无效的 backdrop-filter,降低 GPU 开销
  • 增加 aspect-ratio fallback 兼容旧浏览器
  • 修复一些已知问题

许可证

MIT License


如果这个插件对你有帮助,欢迎在 GitHub 上点一个 Star 支持作者!