WP Tailwind Customizer

WP Tailwind Customizer

将 WordPress 后台样式转换为 Tailwind CSS 变量,支持自定义配色方案和按区域(后台、登录、注册、前端)独立控制。

功能特性

  • 将 WordPress 内置 CSS 颜色值转换为 Tailwind CSS 变量(--color-*
  • 支持 8 种后台配色方案自动替换
  • 按区域独立控制:后台、includes、登录、注册、前端
  • 从 WordPress 安装目录直接读取源文件,无需手动拷贝
  • 颜色映射通过外部 API 自动查询,支持本地缓存

项目结构

wp-tailwind-customizer/
├── index.php                        # 插件主入口
├── package.json                     # Node.js 依赖
├── postcss.config.js                # PostCSS 配置
├── config/settings.php              # 集中配置(路径、样式注册)
├── admin/
│   ├── class-admin.php              # 设置页面管理
│   └── views/settings-page.php      # 设置页面视图
├── includes/
│   ├── class-plugin.php             # 插件主类(单例)
│   ├── class-loader.php             # 钩子加载器
│   ├── class-assets.php             # 资源入队管理
│   └── class-color-scheme.php       # 配色方案 URL 替换
├── assets/wp-styles/
│   ├── entry/                       # 入口 CSS(5 个,含 @import "tailwindcss/theme")
│   ├── processed/
│   │   ├── color-only/              # 颜色属性过滤后(pipeline 产物)
│   │   └── tailwind-vars/           # Tailwind 变量转换后(pipeline 产物)
│   └── color-map.json               # 颜色映射缓存
├── build/
│   ├── build.js                     # PostCSS 构建入口
│   ├── run-pipeline.sh              # 完整构建流水线脚本
│   ├── scripts/build-themes.js      # 配色方案编译脚本
│   └── utils/build-utils.js         # 构建工具函数
├── tools/
│   ├── css_color_filter.py          # 从 CSS 提取颜色属性
│   ├── tailwind_color_converter.py  # 颜色值 → Tailwind 变量 + API 查询
│   └── css_empty_rule_remover.py    # 移除空 CSS 规则
├── dist/                            # 构建输出
│   ├── admin.min.css
│   ├── login.min.css
│   ├── signup.min.css
│   ├── frontend.min.css
│   ├── includes.min.css
│   └── themes/                      # 8 种配色方案
│       ├── blue.min.css
│       ├── coffee.min.css
│       ├── ectoplasm.min.css
│       ├── light.min.css
│       ├── midnight.min.css
│       ├── modern.min.css
│       ├── ocean.min.css
│       └── sunrise.min.css
└── README.md

安装

1. 安装依赖

npm install
pip install requests

2. 构建

# 完整流水线(颜色提取 → 转换 → PostCSS 编译 → 配色方案编译)
npm run pipeline

# 或分步执行
npm run build:postcss   # 编译入口 CSS
npm run build:themes    # 编译配色方案 CSS

3. 激活插件

在 WordPress 后台 插件 页面激活 WP Tailwind Customizer

使用

设置页面

激活后进入 设置 > Tailwind Customizer,可独立控制各区域的样式加载:

选项 说明 默认
Admin Styles 后台管理区域 开启
Includes Styles 公共样式(admin bar、编辑器等) 开启
Login Styles 登录页面 开启
Signup Styles 注册页面 开启
Frontend Styles 前端页面 关闭
Custom Color Schemes 使用 Tailwind 版配色方案 开启

配色方案

插件自动替换 WordPress 内置的 8 种后台配色方案:

  • Modern(默认)
  • Blue / Coffee / Ectoplasm
  • Light / Midnight / Ocean / Sunrise

用户在个人资料页切换配色方案后,插件自动加载对应的 Tailwind 版本。

构建流水线

WordPress 安装目录(wp-admin/css/, wp-includes/css/)
    ↓
css_color_filter.py  提取颜色属性
    ↓
assets/wp-styles/processed/color-only/
    ↓
tailwind_color_converter.py  转换为 Tailwind CSS 变量(外部 API + 本地缓存)
    ↓
assets/wp-styles/processed/tailwind-vars/
    ↓
PostCSS(@tailwindcss/postcss + cssnano)
    ↓
dist/*.min.css, dist/themes/*.min.css

流水线命令

# 自动检测 WordPress 路径
npm run pipeline

# 指定 WordPress 路径
bash build/run-pipeline.sh /var/www/wordpress

颜色转换

颜色转换使用外部 API 将 WordPress 色值映射到 Tailwind CSS 类。映射结果缓存于 color-map.json。如需清空缓存重新生成:

rm assets/wp-styles/color-map.json
bash build/run-pipeline.sh

技术栈

技术 版本 用途
Tailwind CSS ^4.2.0 CSS 工具类框架
@tailwindcss/postcss ^4.2.0 Tailwind PostCSS 插件
PostCSS ^8.5.6 CSS 编译
cssnano ^6.0.3 CSS 压缩
Python 3 3.x 颜色处理脚本
PHP 7.4+ WordPress 插件

命令参考

命令 说明
npm run pipeline 完整构建流水线
npm run build:postcss PostCSS 编译入口 CSS
npm run build:themes 编译配色方案 CSS
npm run build:colors PostCSS 编译 + 配色方案编译
npm run watch 监听模式自动重建
bash build/run-pipeline.sh [wp-path] 完整流水线(可指定 WP 路径)
python3 tools/tailwind_color_converter.py 重新生成颜色映射
python3 tools/css_color_filter.py -d <dirs> -o <out> 提取颜色属性

许可证

GPL-2.0-or-later