外掛說明
一介資男(Mxp.TW) 開發工具箱不是單一功能外掛,而是一個 WordPress 開發、維運、搬站與站點管理工具包。套件內含主要工具箱與四個可獨立啟用的子外掛,讓管理員只啟用目前站台需要的能力。
套件架構
Dev Tools - Mxp.TW:主要工具箱。提供外掛/主題安裝、打包、取代、資料庫維護、網站設定檢視與檔案異動檢查。Dev Tools: Snippets - Mxp.TW:常用維運片段。集中處理安全強化、登入/後台調整、媒體上傳政策、報告排程與網域到期檢查。Dev Tools: Site Manager - Mxp.TW:多站管理輔助。匯出/匯入站台資訊,並以 passkey、加密 token 與 HMAC 提供跨站快速登入。Dev Tools: Hide Login Page - Mxp.TW:登入路徑防護。將預設登入入口改為自訂路徑,並把原始登入與未登入後台入口導向 404。Dev Tools: Feedback Reporter - Mxp.TW:登入用戶全站問題回報。前台與後台可擷取目前頁面、標註截圖、填寫描述後由本站安全轉送 webhook。
Dev Tools – Mxp.TW(主要工具箱)
主要工具箱面向高權限管理員與開發者,功能集中在「安裝、搬站、檢查、替換」:
- 開發常用外掛清單:從遠端清單與 WordPress.org API 取得外掛資訊,支援安裝、更新與啟用。
- Themeforest List:輸入 Envato 或 MXP 授權碼後,列出可下載的主題、外掛與其他檔案,並支援線上安裝。
- 外掛搜尋工具:在後台嵌入作者整理的外掛搜尋介面,從可信來源帶回下載連結後安裝。
- 外掛/主題打包:可從外掛列表、主題工具、最近異動檔案、
wp-content或wp-config.php產生 ZIP 下載。 - 外掛/主題取代:上傳 ZIP 後解析外掛或主題資訊,比對既有項目,取代前建立備份,失敗時回滾。
- 調整內容作者工具:依 Post Type 批次改寫內容作者。
- 查看網站各項設定:顯示外部網路資訊、
wp-config.php常數、使用者定義常數、.htaccess與.user.ini。 - 主機 PHP 設定:在
phpinfo()可用時顯示 PHP/主機設定。 - 資料庫檢視與匯出:列出資料庫與資料表,支援單表、全表、背景 SQL 匯出與
wp-content打包。 - 資料庫關鍵字取代:以 Search Replace DB 類別處理序列化資料安全的預覽與實際取代。
- WP 資料庫最佳化:檢視大型 autoload options,清理 orphan/duplicate meta、未使用 option、使用者 metabox,也提供重置 WordPress 的高風險操作。
- 查看最近變更檔案:掃描並分類近期異動的核心、上傳、主題、外掛與其他檔案。
- Hook 執行時間除錯:登入狀態下加上
?debug時,在 admin bar 顯示 hook 執行時間統計。
Dev Tools: Snippets – Mxp.TW(常用片段與站台行為)
Snippets 子外掛會直接接管多個 WordPress hook,適合用 wp-config.php 先定義 MDT_* 常數後再啟用。
- 安全強化:停用 XML-RPC、隱藏 REST 使用者資料、移除多種前端 metadata/oEmbed/shortlink 輸出、隱藏作者資訊與頭像、停用 self-ping。
- HTTP 標頭:可輸出 frame-options、XSS protection、content type options、cross-domain policy 與 HSTS 類型標頭。
- 檔案修改保護:預設啟用
DISALLOW_FILE_MODS/DISALLOW_FILE_EDIT,並保護指定管理員不被一般後台列表、編輯、刪除或降權流程影響。 - 登入與後台調整:登入頁 Logo、登入後導向、管理信箱同步、註冊開關、封鎖使用者登入、顯示內容/分類/使用者 ID、使用者註冊時間欄位、隱藏非管理員更新提示與 Customize 選單。
- 媒體與上傳政策:可停用縮圖產生、停用大圖縮放、上傳圖片大小限制、自動填入圖片標題/alt/content,並對特權管理員與一般使用者套用不同的檔案大小與 MIME 規則。
- Bot/垃圾防護:登入、註冊、WooCommerce 與留言表單加入 honeypot 與時間戳檢查。
- 前台 Basic Auth:可啟用簡易前台驗證,並以指定 query key/cookie 暫時略過。
- 外部 HTTP 請求管控:可封鎖指定網域,或啟用全域封鎖後只允許白名單。
- 站台健康回報與自動更新排程:可透過排程回報站台資訊,也可在排程內更新指定外掛。
- 網域到期檢查:Dashboard widget 顯示
home_url()、site_url()、多站、額外指定網域與 filter 網域的 RDAP/WHOIS 結果,包含到期日、註冊商、狀態、DNSSEC、Name Server、原始資料與通知狀態。
網域到期檢查常用設定:
MDT_DOMAIN_EXPIRY_CHECK:是否啟用網域到期檢查,預設true。MDT_DOMAIN_EXPIRY_NOTICE_DAYS:到期通知門檻,預設90, 60, 30, 14, 7, 3, 1天。MDT_DOMAIN_EXPIRY_EXTRA_DOMAINS:額外指定檢查網域,支援陣列或逗號分隔字串。MDT_DOMAIN_EXPIRY_OBSERVE_HOSTS:是否自動記錄非設定來源的 HTTP_HOST,預設false。MDT_DOMAIN_EXPIRY_OBSERVED_HOST_RETENTION_DAYS:觀察到的 HTTP_HOST 紀錄保留天數,預設180。MDT_DOMAIN_EXPIRY_MAX_DOMAINS_PER_RUN:單次排程最多查詢數量,預設20。MDT_DOMAIN_EXPIRY_STORE_RAW_DATA:是否儲存 RDAP/WHOIS 原始資料,預設true。
Dev Tools: Site Manager – Mxp.TW(多站管理)
Site Manager 用來把多個 WordPress 站台整理成一張管理表。
- 匯出目前站台資訊:包含站台 URL、站名、管理員信箱、IPv4、IPv6、DNS A/NS 記錄與 Whois/網域到期資訊。
- 匯入其他站台匯出的設定字串,儲存在
mxp_dev_sites_info_db站台選項。 - 管理表以 DataTables 顯示站台 URL、站名、信箱、IP、DNS、網域到期日與操作。
- 快速登入:對已匯入站台產生加密 token 與 HMAC,POST 到目標站後由目標站驗證 passkey 與 15 秒時間窗,再登入最高權限管理員。
- 重置站台密鑰:刪除本機 passkey 並在下次使用時重建;既有匯出字串會因此失效。
- 支援單站 Tools 頁面與 multisite Network Admin 頁面。
匯出的字串包含 passkey。請只在可信任管理員與可信任傳輸渠道中保存或分享。
Dev Tools: Hide Login Page – Mxp.TW(登入路徑防護)
Hide Login Page 沒有設定頁,透過常數控制:
MDT_LOGIN_PATH:預設admin-staff,登入網址會變成/admin-staff/;未啟用 pretty permalink 時使用/?admin-staff。MDT_LOGIN_PATH_DISPLAY:預設true;設為false時可在外掛列表隱藏此子外掛。
啟用後,wp-login.php、/login、wp-register、wp-activate 與非 multisite 的 wp-signup 會走 404 流程;未登入的 /wp-admin/ 請求也會被導到 /404。此外掛也會改寫 WordPress 產生的登入 URL、redirect URL、welcome email 中的登入連結,以及 WooCommerce 密碼重設連結。
Dev Tools: Feedback Reporter – Mxp.TW(全站問題回報)
Feedback Reporter 沒有設定頁,透過 MDT_FEEDBACK_REPORTER_* 常數控制。啟用外掛後預設啟用回報功能;只允許登入並符合 role / user ID 規則的使用者在前台與後台看到回報入口。若要關閉,可在 wp-config.php 將 MDT_FEEDBACK_REPORTER_ENABLE 定義為 false。
- 前台使用明確的「回報問題」浮動按鈕;後台使用低干擾的小型「回報」入口,避免遮住主要操作或一直提醒使用者回報。
- 使用者點擊後才啟動回報流程,擷取目前頁面「當下捲動視野」並開啟截圖標註工具。
- 使用者可在截圖上畫框、箭頭、文字、自由畫筆與馬賽克;若自動 DOM 截圖無法呈現互動畫面,可上傳 PNG/JPEG/WebP 或從剪貼簿貼上外部截圖取代,再填寫問題描述。
- 前端只送到本站 REST endpoint;webhook URL 與 secret 不會輸出到瀏覽器。
- WordPress server-side 驗證登入、nonce、role/user ID、rate limit、截圖 MIME,並在 webhook 前重新檢查與壓縮截圖大小;未設定 webhook 時仍會保存本機 log/截圖,設定 webhook 後才送出外部通知。
- Discord webhook 會自動使用
payload_json+files[0],讓文字、SEO 資訊與截圖可直接進 Discord;Slack incoming webhook 會自動使用 JSON + Block Kit 送出文字摘要與本機 log/截圖路徑。 - log 目錄預設在
wp-content/uploads/mxp-dev-tools/feedback-reporter/,每次回報會寫入不可預測的隨機子目錄與隨機檔名,並建立index.html與.htaccess阻擋直接瀏覽,再依保留天數與檔案數上限自動清理;移除 Feedback Reporter 子外掛時預設會刪除 log。
常用常數:
MDT_FEEDBACK_REPORTER_ENABLE:是否啟用全站回報,預設true;可設為false關閉。MDT_FEEDBACK_REPORTER_ADMIN_ENABLE:是否在wp-admin輸出低干擾後台回報入口,預設true。MDT_FEEDBACK_REPORTER_ADMIN_BUTTON_MODE:後台入口樣式,預設subtle-tab,另可用compact-pill。MDT_FEEDBACK_REPORTER_WEBHOOK_URL:接收回報的 webhook URL;預設要求 HTTPS,未設定時仍可回報並保存本機 log/截圖,但不送出外部通知。MDT_FEEDBACK_REPORTER_WEBHOOK_FORMAT:webhook payload 格式,預設auto;Discord 與 Slack incoming webhook URL 會自動送出相容格式,也可設為generic、discord或slack。MDT_FEEDBACK_REPORTER_WEBHOOK_SECRET:webhook HMAC 簽章 secret,預設空字串。MDT_FEEDBACK_REPORTER_WEBHOOK_REQUIRE_HTTPS:是否要求 webhook URL 使用 HTTPS,預設true;設為false時可接受 HTTP,但仍會拒絕 private/reserved IP。MDT_FEEDBACK_REPORTER_WEBHOOK_SSL_VERIFY:是否驗證 HTTPS 憑證,預設true;設為false時可接受自簽憑證。MDT_FEEDBACK_REPORTER_ALLOWED_ROLES:允許回報的角色,預設administrator。MDT_FEEDBACK_REPORTER_ALLOWED_USER_IDS:額外允許回報的使用者 ID。MDT_FEEDBACK_REPORTER_DENIED_USER_IDS:禁止回報的使用者 ID,優先權最高。MDT_FEEDBACK_REPORTER_DENIED_PATHS:不輸出回報入口的 path prefix,預設只排除/wp-login.php。MDT_FEEDBACK_REPORTER_LOG_RETENTION_DAYS:本機 log/截圖保留天數,預設30。MDT_FEEDBACK_REPORTER_MAX_LOG_FILES:本機 log/截圖檔案數上限,預設500。MDT_FEEDBACK_REPORTER_DELETE_LOGS_ON_UNINSTALL:移除 Feedback Reporter 子外掛時是否刪除 log/截圖,預設true。
使用風險
- 此套件設計給可信任管理員、開發者與站台維護者使用,不適合開放給一般後台使用者。
- 搜尋取代、資料庫最佳化、WordPress 重置、批次改作者、外掛/主題取代都會改寫資料或檔案;操作前請先確認備份可還原。
- 主要工具箱會讀取並顯示
wp-config.php、.htaccess、.user.ini、PHP 設定與資料庫資訊。 ZipArchive、網路連線、檔案系統權限與主機 PHP 限制會影響打包、匯出、安裝、替換與前端回報轉送功能。
螢幕擷圖

** 常用外掛操作列表 ** – 作者常用外掛安裝、啟用批次操作區域。

** Themeforest 外掛、主題下載 ** – 輸入 Themeforest 建立的授權碼取得帳號下購買的主題或外掛,線上安裝。

** 批次修改全站內容作者 ** – 指定內容類型全站調整作者權限,讓客戶帳號方便作業。

** 超快速搜尋外掛工具 ** – 作者自行整理的官方外掛庫,每日更新,用來快速找對外掛資源。

** 主題打包工具 ** – 網站主題一鍵打包下載功能。

** 外掛列表頁面打包工具 ** – 網站外掛一鍵打包下載功能。

** 資料庫與資料表檢視與匯出工具 ** – 查看資料庫與資料表設定,並提供匯出備份功能。

** 資料庫關鍵字搜尋與取代工具 ** – 指定或全站資料表掃描固定字眼並取代的功能,搬家時換網域常用。
安裝方式
- Upload the plugin files to the
/wp-content/plugins/mxp-dev-tools/directory, or install the plugin from the WordPress Plugins screen. - Activate the main
Dev Tools - Mxp.TWplugin through the Plugins screen in WordPress. - Activate optional sub-plugins only when needed:
Dev Tools: Snippets - Mxp.TW,Dev Tools: Site Manager - Mxp.TW,Dev Tools: Hide Login Page - Mxp.TW, orDev Tools: Feedback Reporter - Mxp.TW. - Open 「開發工具箱」 or the relevant sub-plugin admin page in the WordPress admin menu.
- For advanced behavior, define the documented
MDT_*constants inwp-config.phpbefore WordPress loads.
常見問題集
-
Why are there multiple plugin entries after installation?
-
The package intentionally contains a main plugin plus optional sub-plugins. This lets a site enable only the tools it needs while keeping one shared release package and update path.
-
Should I activate every sub-plugin?
-
No. Activate the main toolbox for development and maintenance tools. Activate Snippets, Site Manager, or Hide Login Page only when the site needs those behaviors, because each sub-plugin changes runtime hooks.
-
Where are Snippets settings configured?
-
Most Snippets behavior is controlled with
MDT_*constants defined before WordPress loads, usually inwp-config.php. Some behavior also has filters documented in the source. -
Will observed HTTP_HOST domains be shown on the domain expiry dashboard?
-
No by default. Since 3.5.9,
MDT_DOMAIN_EXPIRY_OBSERVE_HOSTSdefaults tofalse, and observed-only hosts are kept behind a separate detail page instead of the main dashboard list. -
How do I add extra domains to the expiry check?
-
Define
MDT_DOMAIN_EXPIRY_EXTRA_DOMAINSinwp-config.phpas an array or comma-separated string. -
Define
MDT_LOGIN_PATHbefore WordPress loads. The default slug isadmin-staff. -
No. The exported site string includes the passkey used to create login tokens. Treat it like an administrator credential and share it only through trusted channels.
-
How do I configure Feedback Reporter?
-
Activate the Feedback Reporter sub-plugin. The reporter is enabled by default after activation and can save local logs/screenshots even before a webhook is configured; define
MDT_FEEDBACK_REPORTER_ENABLEasfalseto disable it. SetMDT_FEEDBACK_REPORTER_WEBHOOK_URLbefore WordPress loads when you want external notifications.autodetects Discord and Slack incoming webhook URLs; setMDT_FEEDBACK_REPORTER_WEBHOOK_FORMATtogeneric,discord, orslackonly when you need to force a payload type. By default the webhook must be HTTPS with a valid certificate; setMDT_FEEDBACK_REPORTER_WEBHOOK_REQUIRE_HTTPSorMDT_FEEDBACK_REPORTER_WEBHOOK_SSL_VERIFYtofalseonly for trusted internal/self-signed receivers. UseMDT_FEEDBACK_REPORTER_ALLOWED_ROLES,MDT_FEEDBACK_REPORTER_ALLOWED_USER_IDS, andMDT_FEEDBACK_REPORTER_DENIED_USER_IDSto limit who can submit reports. -
Does Feedback Reporter expose my webhook secret to visitors?
-
No. The browser only receives the local REST endpoint and nonce. WordPress sends the webhook server-side and signs it with
MDT_FEEDBACK_REPORTER_WEBHOOK_SECRETwhen configured. -
Do I need to back up before using database or replacement tools?
-
Yes. Database search/replace, optimization, cleanup, reset, bulk author changes, and file replacement tools can modify production data or files. Always keep a verified backup before running destructive actions.
參與者及開發者
變更記錄
3.6.5
- Feedback Reporter Logs 列表新增截圖縮圖,詳細頁新增大型截圖預覽;圖片透過後台權限與 nonce 保護的
admin-post.phpendpoint 讀取,保留既有私有 log 目錄保護。 - 修正 WordPress.org Test Preview 藍圖:先安裝並啟用
mxp-dev-tools,再啟用 Feedback Reporter 子外掛,避免 Playground 在外掛尚未安裝時執行activatePlugin造成Plugin file does not exist。
3.6.4
- 修正 Feedback Reporter 捲動頁面的 viewport 截圖:以暫存 viewport 舞台擷取目前畫面,並把 fixed/sticky 元素依實際視窗座標重疊,避免 DDEV 固定底部操作列在桌機與手機截圖中位移或遮蓋錯誤。
- 移除標註視窗中的「貼上截圖」按鈕;保留 Ctrl/⌘+V paste 事件與「上傳截圖」fallback,避開瀏覽器 Clipboard API 權限不一致造成的空按鈕體驗。
3.6.3
- 修正 Feedback Reporter 自動截圖範圍:截圖前不再先鎖定頁面捲動,並以目前 viewport 捲動位置裁切,避免回報內容誤抓頁面頂端。
- 新增截圖取代功能:標註視窗可上傳 PNG/JPEG/WebP,或在支援的瀏覽器按 Ctrl/⌘+V 從剪貼簿貼上圖片。
- 強化替代截圖流程的 RWD 介面、圖片尺寸壓縮、格式檢查與錯誤提示,讓桌機、手機與不同瀏覽器都有檔案上傳 fallback。
3.6.2
- Feedback Reporter 啟用子外掛後預設可直接回報並保存本機 log/截圖;
MDT_FEEDBACK_REPORTER_ENABLE=false仍可覆寫關閉。 - Feedback Logs 頁面新增 webhook 設定提醒:未設定時顯示通知,已設定時顯示目前通知類型與 host。
- 新增 Slack incoming webhook 自動偵測與
MDT_FEEDBACK_REPORTER_WEBHOOK_FORMAT=slack,使用 JSON + Block Kit 送出摘要與本機 log/截圖路徑。 - 新增 WordPress Playground
assets/blueprints/blueprint.json,支援 WordPress.org 外掛頁即時預覽。 - 移除外部服務依賴說明段落。
3.6.1
- 更新 Feedback Reporter vendored SnapDOM 至
3.2.0。 - 確認 SnapDOM 3.2.0 與現有截圖流程相容:新增 ESM 動態載入 fallback,維持
snapdom(target, options)、toBlob()、viewport clip、ignore selector 與遮罩流程可正常運作。 - 強化 Feedback Logs 後台檢視頁:重要資訊分卡片顯示、webhook 狀態 badge、補送/刪除操作、Raw JSON 與手機版 RWD 呈現。
3.6.0
- 新增
Dev Tools: Feedback Reporter - Mxp.TW子外掛,支援前台與後台登入用戶截圖、標註、填寫描述與 webhook 回報。 - 新增
MDT_FEEDBACK_REPORTER_*常數設定:啟用狀態、後台低干擾入口、webhook、HTTPS/憑證嚴格度、role/user ID 限制、截圖大小、遮罩 selector、rate limit、log 保留天數與檔案數上限。 - 新增本機 JSON log + screenshot 檔案薄紀錄與每日清理機制;管理員可從「工具 Feedback Logs」讀取檔案型回報紀錄、檢查 webhook 送出狀態、手動補送 webhook,並刪除紀錄;移除子外掛時預設刪除 log。
- 強化 Feedback Reporter 送出流程:後端在 webhook 前重新壓縮超限截圖,並將截圖頁面的 SEO meta/canonical/Open Graph/Twitter/H1/JSON-LD 型別摘要一併寫入 log 與 webhook。
3.5.9
- 調整網域到期檢查的 observed host 行為:預設不再自動記錄 HTTP_HOST,可用
MDT_DOMAIN_EXPIRY_OBSERVE_HOSTS啟用。 - 新增 observed host 180 天保留規則、獨立檢視頁與刪除操作,避免非主要網域直接出現在控制台。
3.5.8
- 新增網域到期檢查資訊的註冊商、註冊日期、網域狀態、DNSSEC 與 Name Server 等基本細節。
- 調整網域到期通知文案,改用「已進入到期前提醒」並加入註冊商資訊,方便確認續約平台。
3.5.7
- 調整網域到期檢查資訊顯示完整主機名稱,避免子網域被簡化為主網域。
- 調整網域到期通知規則,僅通知 home_url / site_url 類型來源,純 observed_host 不寄送通知。
3.5.6
- 調整網域到期檢查資訊的後台文案,移除不易理解的英文術語。
