orca-wpml-rest 是我們為了 orca-wp-cli-tool 與內部多語系工作流所額外開發的 REST bridge。它的目標不是重新實作 WPML,而是把實務上最常用的翻譯流程包成可批次操作的 API。
這個外掛解決什麼問題?
在實際維運中,我們常遇到這些情境:
- 先用 WordPress REST 建立英文或日文內容,再回頭補 WPML 的 trid 關聯。
- 查詢某篇文章或分類標籤目前有哪些翻譯版本。
- 把既有內容送入翻譯流程,但不想手動進 WPML 後台一筆一筆操作。
- 為分類、標籤、產品分類等 term 建立一致的多語關聯。
WPML 官方本身有 hooks、Translation Management 與 String Translation,但沒有提供我們要的這種「內容已建立後,再用 REST 一步把翻譯關聯接回原文」的工作流。因此,orca-wpml-rest 就是為了補上這一段而存在。
主要功能
| 取得語言清單 | 讀取站台目前啟用的 WPML 語言,方便 CLI 先確認語系代碼。 |
| 查詢翻譯版本 | 查看某篇文章對應的 WPML trid 與所有翻譯內容。 |
| 建立翻譯關聯 | 將已建立的翻譯文章回綁到同一個 WPML trid。 |
| Term 翻譯關聯 | 支援標籤、分類、產品分類等 taxonomy 的翻譯連結。 |
| existing content 翻譯流程 | 讓頁面與 Elementor 範本可以直接送入翻譯流程。 |
REST 端點
目前提供的核心端點如下:
GET /wp-json/orca-wpml/v1/languagesGET /wp-json/orca-wpml/v1/post/{id}/translationsPOST /wp-json/orca-wpml/v1/post/{id}/linkPOST /wp-json/orca-wpml/v1/term/{id}/linkPOST /wp-json/wpml/v1/translate-existing-content
其中 orca-wpml/v1 是我們自建的 bridge;wpml/v1/translate-existing-content 則是為頁面與 Elementor 範本翻譯補上的流程端點。
搭配 orca-wp-cli-tool 的使用方式
這套外掛的價值,在於可以讓 CLI 直接做這些事:
- 先建立翻譯內容。
- 再把翻譯內容與原文連回同一個 WPML trid。
- 最後在前台輸出正確的多語連結與 hreflang。
orca-wp languages
orca-wp translations 686
orca-wp translate 686 --lang en --title "English Title" --slug "english-slug"
orca-wp translate-existing-content 8120 --type page --lang en
orca-wp term-link 10 50 --lang en --taxonomy post_tag
設計原則
orca-wpml-rest 的設計原則很單純:不取代 WPML,而是補上 WPML 官方沒有直接提供、但實務上很常需要的橋接流程。換句話說,它是一個工作流 bridge,不是另一套翻譯系統。
因此,若站台沒有安裝 WPML,本外掛不會自行提供完整翻譯能力;它仍然依賴 WPML 的語言與翻譯資料結構運作。
適用場景
- 批次建立英文或日文文章。
- 把翻譯頁面、模板或 term 接回原文的 WPML 關聯。
- 配合 orca-wp-cli-tool 做多站台、多語系維運。
- 需要程式化處理 Elementor / WordPress 內容翻譯的情境。
備註
這份說明是針對我們實際開發的 bridge 與工作流程整理的,不是 WPML 原廠官方文件。若你想了解 WPML 原生能力,仍建議以 WPML 官方文件 與 hooks reference 為準。



