我希望能夠在我的URL中使用用戶的登錄名,然後抓取它以便在頁面模板中使用。就像這樣:WordPress add_rewrite_rule用於在URL中登錄用戶
mywebsite.com/admin/users/user/{user_login}
我試過以下,但query_var不會被添加到查詢和匹配總是從URL的端部剝離,像這樣:
mywebsite.com/admin/users/user/login-name/ - > mywebsite.com/admin/users/user/
我知道重寫正在發生,因爲它成功地將我帶到了「用戶」頁面,但我似乎無法獲得用戶登錄信息。
/* add query var */
function add_user_query_vars($query_vars){
$query_vars[] = 'user_login';
return $query_vars;
}
add_filter('query_vars', 'add_user_query_vars');
/* add rewrite rule */
function add_user_rewrite_rules($rules){
$user_rules = array('admin/users/user/([a-zA-Z0-9\._-]+)/?$' => 'index.php?pagename=user&user_login=$matches[1]');
$rules = $user_rules + $rules;
return $rules;
}
add_filter('rewrite_rules_array', 'add_user_rewrite_rules');
謝謝!
您是否嘗試重建固定鏈接?這可能適用於此。 – Navelpluisje
是的,我通過從wp儀表板重新加載永久鏈接頁面來刷新永久鏈接。 – HWD