WP Maker Basic
WP Maker Basic
版本: 1.5 | 许可证: GPL-2.0-or-later | 兼容: WordPress 5.0+ | PHP: 7.4+
WP Maker Basic 是一款全功能的 WordPress 管理工具与开发框架插件。提供管理后台深度定制、系统优化、第三方插件集成、自定义 REST API、模板管理、子插件(WP App)应用构建、消息通知等能力。
功能总览
1. 管理后台定制(Admin Pages)
包含 10 个子模块,覆盖 WordPress 管理后台的各个核心页面:
| 模块 | 对应页面 | 核心能力 |
|---|---|---|
| 管理首页 (Index) | index.php |
移除欢迎面板、仪表盘小工具、网络仪表盘,自定义仪表盘布局 |
| 文章列表 (Edit) | edit.php |
强制经典编辑器、REST API 列、自定义行操作、文章排序、禁用 wpautop、启用特色图片 |
| 常规选项 (OptionsGeneral) | options-general.php |
自定义站点图标 URL、禁用头像、移除隐私相关菜单/端点 |
| 插件管理 (Plugins) | plugins.php |
ACF/ACFE 集成(JSON 同步/保存路径)、TablePress 优化、WPJAM Basic 优化、WP Opt 集成、FluentChat 样式优化 |
| 主题管理 (Themes) | themes.php |
移除样板子菜单、UIkit CSS 类自动注入 |
| 工具管理 (Tools) | tools.php |
移除个人数据导出/擦除工具、站点健康菜单/仪表盘 |
| 媒体上传 (Upload) | upload.php |
允许上传 SVG、JSON 格式文件 |
| 管理栏 (AdminBar) | 全局 | 默认隐藏 Admin Bar、移除搜索/评论/更新/新建等菜单项、自定义 CSS/JS 注入 |
| 管理页脚 (AdminFooter) | 全局 | 自定义左右侧页脚文本 |
| 页面标题 (AdminTitle) | 全局 | 移除 HTML 标题中的 WordPress 标识 |
2. 自定义登录页面 (Custom Login Pages)
- 3 套内置模板: 经典、简约、卡片
- 可配置项: 模板选择、背景颜色、表单位置(左/中/右)、表单宽度(窄/中/宽)
- 自定义 Logo(URL、标题、链接地址)
- 自定义 CSS/JS 注入
3. 自定义 REST API
- IP 白名单访问控制: 支持 CIDR 网段和单 IP
- 匿名评论控制: 允许/禁止通过 REST API 匿名创建评论
- 自定义字段端点: 注册
custom_fieldsREST 字段 - 自动加载 apps API: 自动加载
apps/*/api/*.php文件作为 REST API 端点
4. 前端优化 (Frontend Optimization)
- 移除 HTTP 响应头
X-Powered-By - 禁用
x_redirect_by功能 - 移除
<meta name="generator">标签 - 提升前端安全性和性能
5. 图片优化 (Image Optimizer)
- 上传时自动压缩: JPEG/PNG 质量可调
- EXIF 清理: 去除相机型号、GPS 位置等元数据
- 尺寸限制: 超过最大宽度/高度时自动缩放
- WebP 生成: 自动生成 WebP 格式(含所有缩略图尺寸)
- 前端 WebP 输出: 在支持 WebP 的浏览器中自动替换
- 批量处理: 对已有图片一键批量优化和生成 WebP
6. 百度统计 (Baidu Tongji)
- 在网站页脚注入百度统计脚本
- 支持多站点网络
7. 后台主题 (Better Admin UI)
- 3 套主题: 清爽浅色、深色夜间、北极蓝
- 优化后台样式与体验
8. WP App 子插件系统 (WP App Post Type)
- 自定义文章类型:
wp_app_resource- 托管应用资源 - 分类体系: 项目分类(层级) + 资源标签(非层级)
- ACF 字段: 通过 ACF 管理模板类型字段
- 自动模板路由: 根据 ACF 字段值自动加载对应的页面模板
- REST API 支持: 完整的 REST API 暴露
9. 通知系统
| 模块 | 触发条件 | 通知渠道 | 特性 |
|---|---|---|---|
| 飞书访客通知 | 前台有未登录用户访问 | 飞书机器人卡片消息 | 冷却时间、IP 地理信息、UA 追踪、签名验证 |
| FluentChat 飞书通知 | FluentChat 收到新消息 | 飞书机器人卡片消息 | 客户信息提取、签名验证、查看聊天按钮 |
10. 安全防护 (Security)
- 恶意请求拦截: 阻止访问
wp-config.php、.git、.env等敏感路径 - 恶意 User-Agent 检测: 屏蔽 SQLMap、Nikto 等扫描工具
- SQL 注入防护: 基于关键词模式的请求检测
- XSS 防护: HTML 标签和事件处理器检测
- 目录遍历防护: 禁止
../和./路径 - 登录限流: 5 次失败后锁定 IP 5 分钟
- 一键开关: Admin Bar 上可临时关闭安全防护(用于调试)
11. AJAX 工具集
| 工具 | 功能 |
|---|---|
| 站点选项 | 一键批量设置默认站点选项(语言、时区、固定链接等) |
| 网络选项 | 一键批量设置默认网络选项 |
| 创建站点 | 在多站点网络中创建 10 个随机站点 |
| WP_DEBUG 切换 | 通过修改 wp-config.php 切换调试模式 |
12. 脚本工具链
| 脚本 | 用途 |
|---|---|
wp-maker.sh |
主入口脚本 |
wp-maker-init.sh |
项目初始化(基于 .env 配置) |
wp-maker-deploy.sh |
项目部署 |
wp-maker-validate.sh |
环境和配置验证 |
wp-maker-watch.sh |
文件监听 + 自动部署 |
build-all.js |
批量构建 |
deploy-all.js |
批量部署 |
update-app.php |
应用资源更新 |
技术架构
模块化架构
index.php (入口)
└─ bootstrap.php
├─ includes/ajax-handler.php (AJAX 自动路由)
├─ includes/security.php (安全防护)
├─ includes/acf-fields.php (ACF 选项页注册)
└─ features/ (功能模块 - 自动递归加载)
├─ core/ (管理后台核心)
│ ├─ AdminHub.php (管理中心 + AJAX handler)
│ ├─ AdminBar.php (管理栏)
│ ├─ AdminFooter.php (管理页脚)
│ ├─ AdminTitle.php (页面标题)
│ ├─ PostsList.php (文章列表)
│ ├─ Dashboard.php (仪表盘)
│ ├─ GeneralSettings.php(常规选项)
│ ├─ Themes.php (主题管理)
│ ├─ Tools.php (工具优化)
│ ├─ Upload.php (上传增强)
│ ├─ NetworkSettings.php(网络设置)
│ └─ WpAppPostType.php (WP App 文章类型)
├─ integrate/ (功能扩展)
│ ├─ CustomLoginPages.php
│ ├─ CustomRestApi.php
│ ├─ CustomWpPages.php
│ ├─ FeishuNotification.php
│ ├─ FluentchatFeishu.php
│ ├─ ImageOptimizer.php
│ ├─ BaiduTongji.php
│ └─ TemplateManager.php
├─ plugins/ (第三方插件集成)
│ ├─ Acf.php
│ ├─ Tablepress.php
│ ├─ Wpjam.php
│ ├─ Wpopt.php
│ ├─ Fluentchat.php
│ ├─ WakaBulkPage.php
│ └─ WpMultiNetwork.php
├─ temp/ (开发中)
│ ├─ BetterAdminUi.php
│ ├─ AiEntryBlock.php
│ ├─ GuestComment.php
│ └─ ...
├─ acf-json/ (ACF 字段组)
配置管理
所有 Feature 配置统一通过 Advanced Custom Fields (ACF) 管理:
ACF 选项页表单 → update_field() → wp_options (options_{field_name})
↓
Feature 钩子执行时 → get_field() → 读取真实配置值
- ACF 字段定义集中在
includes/acf-fields.php - 字段组 JSON 文件自动同步到
features/acf-json/ - 所有 Feature 使用
wpmaker_get_feature_config()统一读取 - 配置读取采用惰性策略:构造函数只注册钩子,钩子执行时(
acf/init之后)才读取配置
侧栏菜单
WPMaker (AJAX 工具首页)
├─ 管理设置 (10 个 Tab: 管理栏/页脚/标题/仪表盘/常规选项/插件/主题/工具/上传/编辑器)
├─ 功能扩展 (3 个 Tab: 登录页面/REST API/前端优化)
├─ 飞书通知 (单页)
├─ 网络设置 (单页)
├─ 百度统计 (单页)
├─ 图片优化 (批量处理 Tab + ACF 设置)
├─ 后台主题 (单页 - ACF 单选)
└─ FluentChat 通知 (单页 - 在 FluentChat 菜单下)
核心技术栈
- 后端: PHP 7.4+, WordPress Hook 系统, ACF Pro
- 配置: ACF Options Page + Local JSON
- 前端: jQuery, BetterAdminUI 主题系统
- 构建: Node.js, Sass
- 依赖: erusev/parsedown (Markdown), tedivm/jshrink (JS 压缩), natxet/cssmin (CSS 压缩)
项目结构
wp-maker-basic/
├── assets/ # 静态资源(CSS、图片、JS)
├── features/ # 功能模块(核心)
│ ├── core/ # 管理后台核心(12 个模块)
│ ├── integrate/ # 功能扩展(8 个模块)
│ ├── plugins/ # 第三方插件集成(7 个模块)
│ ├── temp/ # 开发中的功能
│ └── acf-json/ # ACF 字段组(同步本地)
├── includes/ # 基础设施(ACF 字段、AJAX、安全)
├── templates/ # 页面模板(7 种类型)
├── scripts/ # CLI 工具链
├── apps/ # WP App 项目目录(被 gitignore)
├── .trae/skills/wp-app/ # AI 辅助开发技能
├── index.php # 插件入口
├── bootstrap.php # 加载器
├── composer.json # PHP 依赖
├── package.json # JS 依赖 + 构建脚本
└── wp-maker.config.yml # 项目配置文件
快速开始
安装
- 将插件目录放入
wp-content/plugins/ - 在 WordPress 后台激活插件
- 访问 WPMaker → 管理设置 配置各功能模块
配置
所有功能配置通过 WPMaker 菜单下的 ACF 选项页管理,无需手写配置文件。
复制环境变量模板文件:
cp .wp-maker.env.example .wp-maker.env
# 编辑 HTTP_HOST、PROJECT_NAME 等配置
创建 WP App 项目
通过 wp-maker.config.yml 定义项目结构,使用脚本工具链部署:
# 初始化项目
bash scripts/wp-maker-init.sh
# 监听文件变化自动部署
bash scripts/wp-maker-watch.sh
依赖
| 依赖 | 用途 |
|---|---|
| Advanced Custom Fields PRO | 配置管理(选项页 + 字段组) |
| erusev/parsedown | Markdown → HTML 渲染 |
| tedivm/jshrink | JavaScript 压缩 |
| natxet/cssmin | CSS 压缩 |
开发
# 安装依赖
composer install
npm install
# 开发命令
npm run dev # 启动 React Todo App 开发服务器
npm run build # 批量构建
npm run watch # 监听文件变化
npm run deploy # 部署到 WordPress
npm run build:scss # 编译 BetterAdminUI SCSS
# 修改 JSON 后需要在 ACF → 工具 → 同步字段组 中同步
项目状态
活跃开发中 | 最新版本: 1.5 | 兼容 WordPress 5.0+