2013-03-15 66 views
1

在WordPress中,我知道tld.com/author/username存在作者,但我正在尋找非作者的公共用戶配置文件頁面。我想爲我的網站上的會員設置一個簡單的「最愛列表」。用戶將創建一個帳戶,並添加他們喜歡的帖子。他們不需要訪問wp-admin。WordPress的簡單的用戶配置文件頁面的插件

我正在尋找一些簡單的東西,如tld.com/user/username - not/user /?uid = 1。漂亮和「漂亮」。就像WordPress處理/作者/管理員或/作者/用戶名一樣。

我還想保留/作者保存,以便可以訪問。

我已經嘗試過很多插件,比如WordPress用戶,但它不是一個「漂亮」的URL,也嘗試過諸如Members,profile-builder,wp-user-frontend等複雜的插件。

回答

2

我在@bybloggers的答案中找到了答案。 https://wordpress.stackexchange.com/a/58793/12920

我修改了他的代碼非常輕微的調整使其適合我的需求,但是這是爲我工作是代碼正是我一直在尋找:

// Create the query var so that WP catches the custom /member/username url 
function userpage_rewrite_add_var($vars) { 
    $vars[] = 'member'; 
    return $vars; 
} 
add_filter('query_vars', 'userpage_rewrite_add_var'); 

// Create the rewrites 
function userpage_rewrite_rule() { 
    add_rewrite_tag('%member%', '([^&]+)'); 
    add_rewrite_rule(
     '^member/([^/]*)/?', 
     'index.php?member=$matches[1]', 
     'top' 
    ); 
} 
add_action('init','userpage_rewrite_rule'); 

// Catch the URL and redirect it to a template file 
function userpage_rewrite_catch() { 
    global $wp_query; 

    if (array_key_exists('member', $wp_query->query_vars)) { 
     include (TEMPLATEPATH . '/user-profile.php'); 
     exit; 
    } 
} 
add_action('template_redirect', 'userpage_rewrite_catch'); 

後,這是在我functions.php文件,我不得不重新保存我的固定鏈接。

有時重新保存永久鏈接沒有完成100%的工作和瀏覽www.mysite.com/member/username將404,所以我不得不手動沖洗規則,把這個到我的functions.php並加載我的網站一次。然後刪除它,所以我不會在網站每次加載時都運行它,因爲這是不必要的開銷。

// Code needed to finish the member page setup 
function memberpage_rewrite() { 
    global $wp_rewrite; 
    $wp_rewrite->flush_rules(); 
} 
add_action('init','author_rewrite'); 
+0

除了重構核心WordPress文件之外,還有更好的解決方案可以幫助您完成任務。現在,當你更新你的WP時,你將不得不重新創建你的文件 - 或者將來會有一個恐龍版本的WP。 – 2013-03-19 05:00:25

+0

如果你有更好的方法,我會全力以赴。這是我發現這不僅是像Buddypress這樣的沉重插件,還是像Wordpress用戶那樣擁有太多功能的插件。此外,升級後,因爲這些東西都在初始化階段,下次有人訪問該站點時不會重新初始化嗎? – Pat 2013-03-19 12:09:03

0

我不知道你是否會找到這個,至少不是免費的。你檢查過WPMU嗎?幾個月前我開始寫會員插件,但從未完成它,現在正在Symfony中進行。大多數WordPress會員插件要麼太複雜,要麼不提供你需要的功能。

你應該指出你需要什麼,讓當地的發展商爲你建立它,如果你做得很好,你甚至可以出售它。

+0

不知道它是如此的拉伸。 WordPress用戶已關閉。非漂亮的網址和缺乏編輯個人資料頁面讓我有點難過。鑑於我有特定的要求,也許一個代碼片段使用$ _GET到我的functions.php將會訣竅? – Pat 2013-03-15 01:14:42

+0

修改插件總是公平的。如果升級它,您將不得不重新應用您的更改,因此您應該使用版本控制系統。 – 2013-03-15 11:21:03