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_fields REST 字段
  • 自动加载 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  # 项目配置文件

快速开始

安装

  1. 将插件目录放入 wp-content/plugins/
  2. 在 WordPress 后台激活插件
  3. 访问 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+