2010-09-16 130 views
1

我正在舉辦活動並使用WordPress來管理網站。我們有與會者的一個單獨的表(未WP用戶表),我想爲他們每個人對我們的網站頁面:在WordPress中重寫條件網址

example.com/user1,example.com/user2等

我一直在閱讀關於WP_Rewrite的內容,但是對於如果用戶存在的情況下如何有條件地重定向有點困惑,否則就去了解正常的流程。

任何幫助實現這一點將不勝感激,謝謝!

編輯:

還有就是我想轉發到一個單一的一次性頁。

example.com/user?username=user1

回答

0

我最終通過用代字符(〜)預先輸入用戶的URL來完成此操作。重寫代碼如下:

// Uncomment only when new rewrites have been made 
//add_filter('init', 'wds_flush'); 

// Leave uncommented 
add_filter('rewrite_rules_array', 'wds_user_rewrite'); 
add_filter('query_vars','wds_query_vars'); 

function wds_flush() 
{ 
    global $wp_rewrite; 
    $wp_rewrite->flush_rules(); 
} 
function wds_user_rewrite($rules) 
{ 
     global $wp_rewrite; 
     $newRule = array(
       '^~(.+)$' => 'index.php?pagename=user&uid=$matches[1]&act=show', 
     ); 
     $newRules = $newRule + $rules; 

     return $newRules; 
} 
function wds_query_vars($vars) 
{ 
     array_push($vars, 'uid'); 
     array_push($vars, 'act'); 
     return $vars; 
} 
0

如果我理解你的問題,你要爲每個用戶創建一個網頁,所以在固定鏈接結構添加標籤%:眼下,它與訪問postname%,並可能安裝無類別的基礎插件。

檢查是否使用wp爲該結構寫入的配置創建了.htaccess,如果不是,則只需複製和粘貼即可。

+0

將不會有每個用戶的頁面。相反,只有一個頁面根據在URL中傳遞的用戶名收集內容。我想簡單地通過example.com/username來清除它(但只有在用戶存在的情況下才去那裏,否則只需處理在wp-admin中設置的永久鏈接)。爲了清晰起見,編輯了主要帖子,感謝您的幫助! – 2010-09-16 03:49:54