我使用的是Buddypress和一個名爲Teambooking的插件。 Teambooking插件不知道Buddypress的存在,它使用默認的Wordpress作者查詢字符串(/?author =「id」,其中id是用戶ID號)創建並顯示作者頁面的鏈接。 但Buddypress爲用戶提供了個人資料頁面。 所以,當有人點擊標準作者頁面鏈接(/?author =「id」)並將頁面重定向到Buddypress用戶配置文件頁面時,我希望能夠抓住它。我以爲我可以使用鉤子'template-redirect'來捕獲這個事件,但這不起作用,因爲鉤子只有在目標頁面被加載時纔會觸發,並且發生的事情是Wordpress會自動重定向URL它的/?author =「id」查詢字符串到index.php頁面,因爲沒有author.php頁面。如何將作者URL查詢重定向到WordPress中的buddypress用戶個人資料頁面
我無法使用$ _SERVER [「QUERY_STRING」]來解析URL,因爲正如我所說的,Wordpress會自動重定向到index.php,並刪除查詢字符串。
我也在想我可以創建一個author.php頁面,以便WordPress停止重定向到index.php,然後使用'template_redirect'鉤子將author.php重定向到buddypress配置文件頁面,但是那樣做也不行。我在我的主題目錄中創建了author.php,但Wordpress繼續重定向到index.php。
關於如何從/?author =「id」查詢重定向到用戶的正確buddypress配置文件頁的任何想法?
這種情況一定會發生在不知道Buddypress被安裝的插件上。
感謝
-Malena
羅布您好,感謝您的回答,我曾試圖使用也Is_author()之前,但沒有工作,但它是因爲另一個插件Yoast SEO干擾並將作者頁面(/?author = id)的查詢重定向到index.php。請參閱下面的答案。一旦我停用Yoast SEO,那麼事情與is_author()一起工作。儘管我使用了代碼的修改版本來派生用戶標識,因爲URL沒有一個slug,而是一個查詢字符串(?author = id),我必須解析它。 – malena