本篇文章更新時間:2019/02/16
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知。
一介資男的 LINE 社群開站囉!歡迎入群聊聊~
如果本站內容對你有幫助,歡迎使用 BFX Pay 加密貨幣 或 新台幣 贊助支持。
這需求剛好一個客戶需要,雖從業務端那邊獲取的資訊是希望能改用數字網址,不過文章量已經有一定的曝光,現在改反而會造成流量流失,這邊根據我的理(猜)解(測),這個客戶希望能專注寫作,網址也最好不要特別刻意去思考,但同時也不要用預設的(中文標題就會直接掛在網址上,像我這部落格一樣)。
所以上網找了調整的辦法,結果... 居然沒看到有好的解答!!! 怎麼會這樣XD
這篇 Customize the auto generation of Post Slug in WordPress 裡面提到的方法其實是有問題的,怎都沒人回應勒~ 他的問題是會幫你改 Post Slug 但不是「建議」,是必須這樣改,這樣不喜歡這個建議也不行,太硬了拉 >///< 後來自己去翻 WordPress 核心程式來找辦法,在 get_sample_permalink 看到了這個 editable_slug
事件,就拿來改寫拉~
post_type === 'post' && empty($post_name)) {
return 'post-' . time();
}
return $post_name;
}
add_filter('editable_slug', 'mxp_post_slug_suggestion', 11, 2);
不過有意思的事官方文件上這個方法使用有分版本,2.6.0 的方法沒有包含文章物件,所以要程式化判斷其實反而沒這麼容易,一直到 4.4.0 版才有補上文章物件使用。
所以意思就是上面我的這段程式碼片段的使用不適合 4.4.0
以下的版本哦~ 要特別注意!
使用方法就是把這段放在主題中 functions.php
裡就行了,當然,產生 Slug 的邏輯就自己改寫囉。