外掛說明
如果想要控制 WordPress 網站的網址,Custom Permalinks 能讓網站管理員為任何文章、頁面、標籤或分類自訂唯一網址。這代表網站管理員可以依據需求設定網站結構,而不會受到 WordPress 預設設定的限制。網站管理員設定自訂永久連結後,內容的原始連結會自動重新導向至新的自訂網址。
主要功能
- 個別永久連結控制:為文章、頁面標籤或分類指派唯一的網址。
- 網站結構控制:獲得網站網址的完整控制權。
- 內容類型永久連結結構 (3.0.0 或更新版本):使用預先定義的標籤為公開的內容類型設定自訂永久連結結構,並在建立內容時自動產生網址,但使用者仍可手動編輯永久連結。如果不進行設定,則會套用預設設定。
開始使用:外掛設定
網站管理員可以前往 WordPress 控制台的 [設定]→[Custom Permalinks] 設定自訂永久連結。
可用於永久連結結構的標籤
設定網站的自訂永久連結時,網站管理員可以使用多種標籤在網址中動態填入對應的值。以下是可供使用的標籤:
- %year%:內容的 4 位數發佈年份,例如 1972。
- %monthnum%:內容的 2 位數發佈月份,例如 11。
- %day%:內容的 2 位數發佈日期,例如 14。
- %hour%:內容的 2 位數發佈時間小時,例如 15。
- %minute%:內容的 2 位數發佈時間分鐘,例如 43。
- %second%:內容的 2 位數發佈時間秒數,例如 33。
- %post_id%:內容的唯一 ID,例如 1114。
- %category%:分類名稱的代稱,巢狀子分類在網址中會顯示為巢狀目錄。
- %author%:內容作者名稱經過清理的版本。
- %postname%:內容標題的簡易版本,也就是該篇內容的代稱。舉例如說,如果內容標題為「This Is A Great Post!」,在網址中就會是
this-is-a-great-post。 - %parent_postname%:類似
%postname%,但如果選取上層頁面,則會使用上層頁面的代稱。 - %parents_postnames%:類似
%postname%,但如果選取多個上層頁面,則會使用全部上層頁面的代稱。 - %title%:將內容標題直接轉換為代稱。舉例來說,如果內容標題為「This Is A Great Post!」,在網址中就會是
this-is-a-great-post。與%postname%只會設定一次不同,除非內容已發佈或手動編輯永久連結,否則如果變更內容標題,%title%便會在永久連結中自動更新。 - %ctax_TAXONOMY_NAME%:自訂分類法名稱的簡易版本,使用自訂分類法的實際名稱取代
TAXONOMY_NAME。網站管理員可以使用??為沒有設定分類/分類法的內容設定預設代稱。舉例來說,使用%ctax_type??sales%就代表將 sales 設定為預設代稱。 - %ctax_parent_TAXONOMY_NAME%:類似
%ctax_TAXONOMY_NAME%,但如果選取上層項目,則網址會包含上層項目的代稱。 - %ctax_parents_TAXONOMY_NAME%:類似
%ctax_TAXONOMY_NAME%,但如果選取多個上層項目,則網址會包含全部上層項目的代稱。 - %custom_permalinks_TAG_NAME%:開發者可以擁有自訂專屬標籤 (將
_TAG_NAME取代為想要的名稱) 的彈性,要確保這些標籤可以解析為正確的永久連結,只要套用custom_permalinks_post_permalink_tag篩選器即可。
重要通注意事項:在 Custom Permalinks 設定中完成結構定義後,針對撰寫的新內容,外掛在內容為草稿時會持續更新永久連結。內容發佈後或手動更新其永久連結,外掛會對這類內容停止自動更新。
Custom Permalinks:篩選器微調
Custom Permalinks 提供一系列讓開發者可以精準控制行為的篩選器,請前往這個外掛的 GitHub 存放庫查看全部可供使用的篩選器及完整的程式碼片段範例。
取得協助
- 付費使用者:如果在實作這些篩選器時需要協助,請透過付費使用者技術支援聯絡表單直接與我們聯絡。
- 其他使用者:請透過 LinkedIn 直接聯絡外掛開發者。
需要協助或找到程式碼錯誤?
- 技術支援:如需一對一電子郵件技術支援,請考慮購買 Custom Permalinks 付費方案。在 WordPress.org 技術支援論壇僅提供基本技術支援,電子郵件技術支援僅供付費方案使用者使用。
- 回報程式碼錯誤:如果在使用上遇到程式碼錯誤,請前往 GitHub 存放庫回報,並請務必提供可重現問題的完整資訊。GitHub 存放庫僅供回報程式碼錯誤,不提供技術支援。
如果外掛更新後造成網站停擺,請在技術支援論壇回報,或前往 GitHub 存放庫提供詳細資訊。如果需要還原為舊版外掛,請前往這個外掛的 [進階檢視] 下載。
安裝方式
安裝 Custom Permalinks 有 2 種方式:
自動安裝
- 前往 WordPress 控制台的 [外掛]→[安裝外掛]。
- 搜尋「Custom Permalinks」。
- 在 [外掛] 頁面中點擊 [立即安裝] 後然後點擊 [啟用]。
透過 FTP 手動安裝
- 下載
custom-permalinks資料夾。 - 將外掛安裝套件 ZIP 壓縮檔解壓縮所得的
custom-permalinks資料夾上傳至網站的/wp-content/plugins/目錄。 - 透過 WordPress 管理後台的 [外掛] 選單啟用 Custom Permalinks。
使用者評論
參與者及開發者
變更記錄
3.1.2 – Sep 24, 2025
3.1.1 – Sep 19, 2025
- Bugs:
3.1.0 – Aug 01, 2025
Permalink Generation:
- Resolved an issue where the
custom_permalinks_generate_post_permalinkfunction was creating duplicate permalinks with appended numbers when triggered programmatically. This ensures a unique, clean URL every time. - Updated the
sanitize_text_fieldfunction to prevent the truncation of permalink tags, such as%category%and%day%, guaranteeing your custom permalink structure remains intact.
Performance:
- The
save_posthook will now only run on public post types. This change prevents unnecessary processing on post types like “Menus”, which can significantly improve performance on sites with complex configurations.
Maintenance:
- Improved internationalization (I18N) support.
- Fixed a bug where the cache group was not properly clearing when using the flush button.
Language:
- Updated the plugin with the latest language packs.
3.0.1 – Jul 22, 2025
Fix PHP warning on url_to_postid() filter.
3.0.0 – Jul 22, 2025
This release of Custom Permalinks brings significant enhancements to post type permalink management, introduces new customization options, and refines the overall user and developer experience.
Added
- Post Type Permalink Structures: Introduced robust functionality to define custom permalink structures for each public Post Type directly within the plugin settings. This allows for automatic URL generation based on predefined tags upon content creation, offering greater flexibility while still allowing manual edits.
- New Available Permalink Tags: Expanded the list of dynamic tags that can be used in permalink structures, including:
%parent_postname%: For immediate parent page slugs.%parents_postnames%: For all parent page slugs.%title%: A dynamic slug that updates with post title changes (until published or manually edited).%ctax_parent_TAXONOMY_NAME%: For immediate parent custom taxonomy slugs.%ctax_parents_TAXONOMY_NAME%: For all parent custom taxonomy slugs.%custom_permalinks_TAG_NAME%: Allows developers to define and resolve their own custom tags.
- WP All Import Compatibility: Added support to generate/update permalinks when importing posts using the WP All Import plugin.
- New Filter Examples: Included clear code examples for
custom_permalinks_post_permalink_tagto set custom values from ACF fields, and for programmatically generating permalinks for single posts and entire post types.
Improved
- Post Caching: Enhanced post caching mechanisms and optimized cache deletion upon updates for better performance.
- Permalink Retrieval: Improved logic to allow fetching posts against customized permalinks.
- Filter Documentation: Refined existing filter descriptions and improved code formatting for clarity.
- Plugin Purpose Clarity: Updated documentation to explicitly state that original post URLs will automatically redirect to the customized URLs, ensuring seamless transitions.
Earlier versions
- For the changelog of earlier versions, please refer to the separate changelog.txt file.
