預設 WordPress 編輯器功能有限,整合 CKEditor 4 與 CKFinder 可獲得專業級富文本編輯與圖片管理體驗。本文記錄從安裝到配置的完整流程。
<?php
// 必須設為 true 才允許上傳
$config['authentication'] = function() {
return isset($_SESSION['user_id']) && current_user_can('upload_files');
};
// 上傳目錄與 URL
$config['backends'][] = [
'name' => 'default',
'adapter' => 'local',
'baseUrl' => '/wp-content/uploads/ckfinder/',
'root' => '/var/www/html/wp-content/uploads/ckfinder/', // 絕對路徑
'chmodFiles' => 0644,
'chmodFolders' => 0755,
'filesystemEncoding' => 'UTF-8',
];
// 圖片處理:縮圖、水印等
$config['images'] = [
'maxWidth' => 1920,
'maxHeight' => 1080,
'quality' => 85,
'sizes' => [
'small' => [320, 240],
'medium' => [640, 480],
'large' => [1280, 960],
],
];
SetHandler default-handler| 現象 | 可能原因 | 解決方案 |
|---|---|---|
| 上傳按鈕無反應 | CKFinder 路徑錯誤 | 檢查 `baseUrl`、`root` 絕對路徑是否正確 |
| 圖片上傳後不顯示 | 跨域或 URL 重寫問題 | 確認 `baseUrl` 可公開訪問、Nginx/Apache 靜態檔案規則 |
| 認證失敗 | Session 未共享 | 確保 CKFinder 能讀取 WP Session,或改用 JWT 驗證 |