我有一個父/子頁面和另一個父/子/子頁面。我有 2 個單獨的頁面模板用于兩個頁面和以下 add_rewrite_rule() 代碼:
add_rewrite_rule( '^user/dashboard/([^/]*)/?’, 'index.php?pagename=user/dashboard&profile=$matches[1]', 'top' );
add_rewrite_rule( '^user/dashboard/billing/([^/]*)/?’, 'index.php?pagename='user/dashboard/billing&profile=$matches[1]', 'top' );
第一個(即父/子)作業正常,但第二個(即父/子/子)不起作用。這意味著當我轉到父/子/子頁面時,它使用的是父/子頁面的模板,而不是分配給它自己的模板。
如果我注釋掉第一個 add_rewrite_rule() 行,它會按預期作業。似乎第一個覆寫了第二個。
我嘗試通過轉到設定> 永久鏈接手動重繪 重寫規則。
我什至嘗試更改重寫規則的順序,即我嘗試在父/子規則之前注冊父/子/子路徑,然后手動重繪 規則。但這也無濟于事。
任何幫助表示贊賞。
uj5u.com熱心網友回復:
你需要改變順序,首先是更具體的 add_rewrite_rule ,然后是通用的,試試這個
add_rewrite_rule( '^user/dashboard/billing/([^/]*)/?', 'index.php?pagename=user/dashboard/billing&profile=$matches[1]', 'top' );
add_rewrite_rule( '^user/dashboard/([^/]*)/?', 'index.php?pagename=user/dashboard&profile=$matches[1]', 'top' );
更改后,您必須在設定中關閉/打開永久鏈接以清除快取。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/316593.html
標籤:WordPress的 重定向 url重写 网址路由
