點擊文章作者名稱連到作者個人頁的網址,一直以來我都是用 user_login
搭配 home_url
自己組出來的,我都這樣寫:<a href=’<?php echo esc_url( home_url() . ‘/author/‘ . $user_login )’>Oberon</a>
,但沒想到這禮拜踩到雷。
主要問題出在有一位使用者在註冊的時候,使用的 user_login
中間有空格,因此當連到他個人頁時會出現 404,我試著進資料庫把他 user_login
裡面的空格移除掉並且重新產生永久連結,結果還是無法排除這個問題,爬了一下文件才知道應該要用 get_author_posts_url( $user_id )
才對。
在取得正確的作者頁網址後,發現到它是用 user_nicename
加橫線來作為網址,研判可能是因為 user_login
帶有空格因此使用帶有橫線的 user_nicename
來替代,之後就學乖一律改用 get_author_posts_url()
來取得作者頁網址比較保險。