2013-03-15 68 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