WordPress 最好的知識變現套件 — 輕鬆做出豐富的知識庫頁面,以及輕鬆管理你的知識訂閱客戶


- 知識庫觀看權限 — 設定知識庫是否需要購買才能觀看,無授權用戶自動導向指定頁面
- 內容/知識變現 — 綁定 WooCommerce 商品或訂閱,訂單完成自動授權,支援到期日設定
- 豐富後台管理 — React/TypeScript 管理介面,支援拖拉排序章節、批量操作
- 雙編輯器支援 — 每個章節可選擇 Power Editor (BlockNote) 或 Elementor 編輯
- 三種版型頁面 — 知識庫首頁 / 文章詳情 / 搜尋結果,含自動目錄 (TOC) 生成
- 批量管理用戶 — 查詢有授權的用戶,手動新增/移除授權,含到期日管理
- 豐富主題色 — 基於 DaisyUI
power 主題,可自訂外觀
- Elementor 整合 — 提供知識庫卡片、搜尋框自訂 Widget
| 需求 |
版本 |
| PHP |
8.0+ |
| WordPress |
5.7+ |
| WooCommerce |
7.6.0+ |
| Powerhouse |
3.3.11+ |
- 前往 Releases 頁面
- 下載
power-docs.zip
- 在 WordPress 後台 → 外掛 → 安裝外掛 → 上傳外掛
# 1. 安裝 PHP 依賴
composer install --no-dev
# 2. 安裝 Node.js 依賴
pnpm install
# 3. 建置前端
pnpm build
# 4. 上傳整個目錄到 wp-content/plugins/power-docs/
- 安裝並啟用 WooCommerce 外掛
- 安裝並啟用 Powerhouse 外掛 (3.3.11+)
- 安裝並啟用 Power Docs 外掛
- 前往 WordPress 後台 → Power Docs
- 點擊「新增知識庫」
- 設定名稱、縮圖、背景圖、是否需要授權
- 在「文章管理」分頁新增章節和單元(最多 2 層深度)
- 點擊章節即可在右側編輯內容(支援 BlockNote 富文字編輯器)
- 在知識庫設定中開啟「購買才能觀看」
- 設定「未授權跳轉網址」(建議跳轉到商品銷售頁)
- 前往「知識庫權限綁定」頁面,將 WooCommerce 商品綁定到知識庫
- 訂單完成後系統自動授權用戶
- 前往「學員管理」頁面
- 可依照已開通的知識庫篩選用戶
- 手動新增/移除用戶授權,設定到期日
詳見 ARCHITECTURE.md
power-docs/
├── plugin.php # 外掛入口點
├── inc/
│ ├── classes/ # PHP 原始碼 (PSR-4 自動載入)
│ │ ├── Bootstrap.php # 初始化所有 domain
│ │ ├── Admin/ # 管理後台頁面
│ │ ├── Domains/
│ │ │ ├── Doc/ # 知識庫核心邏輯 (CPT, Access, API, Templates)
│ │ │ ├── Product/ # WooCommerce 商品整合
│ │ │ ├── User/ # 用戶 API
│ │ │ └── Elementor/ # Elementor Widget
│ │ └── Helper/ # TOC 生成器等工具
│ └── templates/ # PHP 版型
│ └── pages/
│ ├── doc-landing/ # 知識庫首頁版型
│ ├── doc-detail/ # 文章詳情版型 (含側邊欄 + TOC)
│ └── doc-search/ # 搜尋結果版型
└── js/
└── src/ # TypeScript/React 原始碼
├── main.tsx # React 掛載入口
├── App1.tsx # Refine.dev 管理後台
└── pages/admin/ # 管理頁面元件
- Post Type:
pd_doc
- 階層結構: 知識庫 → 章節 → 單元(最多 2 層)
- 版型: 系統提供預設版型,主題可覆寫
single-pd_doc.php
訂單完成
→ 檢查商品是否有綁定知識庫 (bound_docs_data)
→ 寫入 ph_access_itemmeta 資料表 (expire_date)
用戶造訪知識庫
→ 檢查 need_access meta
→ 查詢 ph_access_itemmeta 的到期日
→ 過期或不存在 → 跳轉到 unauthorized_redirect_url
- PHP 8.0+
- Node.js 18+
- pnpm
- Composer
# 安裝依賴
pnpm install
# 安裝 PHP 依賴 (在 power-docs/ 目錄)
composer install
# 啟動前端開發伺服器 (port 5175)
pnpm dev
# 建置生產版本
pnpm build
前端使用 Vite + kucrut/vite-for-wp 整合,開發時 WordPress 後台會自動載入 Vite dev server 的模組。
確保 WordPress 的 WP_ENVIRONMENT_TYPE 設定為 'local' 以啟用開發模式。
# Lint
pnpm lint
# 自動修復
pnpm lint:fix
# 更新 patch 版本 (1.2.x)
pnpm release:patch
# 更新 minor 版本 (1.x.0)
pnpm release:minor
# 更新 major 版本 (x.0.0)
pnpm release:major
# 只建置不發布
pnpm release:build-only
# 建立 zip 壓縮檔
pnpm zip
# 同步 package.json 版本到 plugin.php 標頭
pnpm sync:version
# 生成 pot 檔案
pnpm i18n
# 生成並 commit
pnpm i18n:commit
| Hook |
說明 |
woocommerce_order_status_completed |
訂單完成時自動授權用戶 |
admin_bar_menu (priority 210) |
在管理員工具列新增「編輯知識庫」連結 |
save_post_pd_doc |
儲存文章時清除 transient 快取 |
upgrader_process_complete |
外掛升級後執行相容性遷移 |
| Hook |
說明 |
powerhouse/post/get_meta_keys_array |
為 pd_doc 暴露 editor, bg_images 等欄位 |
powerhouse/product/get_meta_keys_array |
為商品暴露 bound_docs_data 欄位 |
powerhouse/user/get_meta_keys_array |
為用戶暴露 granted_docs 欄位 |
single_template |
覆寫 pd_doc 的前端版型 |
將 single-pd_doc.php 放在主題目錄中,可覆寫預設版型:
wp-content/themes/your-theme/single-pd_doc.php
| 方法 |
路徑 |
說明 |
GET |
/wp-json/power-docs/v1/users |
用戶列表(支援依授權知識庫篩選) |
| 參數 |
說明 |
posts_per_page |
每頁筆數(預設 20) |
paged |
頁碼(預設 1) |
s |
搜尋(ID、帳號、Email、暱稱) |
granted_docs[] |
篩選同時擁有指定知識庫授權的用戶 |
GPL v2 or later — 詳見 LICENSE