你是否想要创建一个合适的会员目录用来展示会员的信息?你是否想要它十分灵活,且在首次安装后仅需要很少的工作量,以及使用你已经很熟悉的一个世界级的开源平台?

你最先想到的可能并不是使用WordPress来完成这个项目,但由于它非常容易让人接受,适合的现代化的注册系统——它是个很好的候选者。

在这篇教程中我会向你展示如何仅仅使用标准WordPress 2.3+及两个非常强大的插件来成功建立一个会员管理目录。

插件安装

站点的核心建立于这两个插件。

首先,使用插件WP User Manager plugin from Dealsway向用户个人资料增加新的字段。安装和设置相当直接——只需要激活插件然后通过它本身的管理选项增加任何你想要的新字段。在这些字段中填入的信息会成为建立用户主页的信息。

其次,我们使用著名的Role Manager 插件,可以用来限制你的会员登录到你的站点后一次性可以做的操作。这是很重要的,因为为了会员授权于他们自己的作者页面,他/她需要至少写一篇文章。

在我看来,我不想我的会员们有能力发表任何东西,仅仅只要填满他们的个人信息。要解决这个问题,我使用了Role Manager插件,但改变了作者身份,仅仅有权限发表文章及阅读文章。(你在截图中看到的隐藏控制面板功能是由IWG Hide Dashboard 插件的功能实现的。这是个简单的方法用来清理我的用户们的管理面板。)

changerole.gif

设置WordPress选项

安装好所有插件后,我们需要让WordPress允许注册新用户。

在你的管理面板中,在选项下,设置新用户的默认身份为订阅者。这保证会员不会得到一个作者页面除非你批准,然后手动移动他们到作者身份。(订阅者不能写文章,但作者可以)

newuserdefault.gif

当一个会员注册后填写好所有合适的个人信息,我们需要批准这个用户。我们通过简单地移动该用户到作者身份来完成,然后代替他/她写一篇文章。我想要每个被批准的会员写一篇文章为了建立新会员Feed[example].以会员的名义发表,在发表他们的文章前在侧边栏文章作者部分的下拉框中选择这个会员的名字。

chooseauthor.gif

这篇文章不需要任何引人注目的东西。在这个Pittsburgh Designers的文章中,我只是简单地写了“添加了一个会员,请访问他们的设计档案。”

有其他的方法来稍微简单地完成这个工作,但我这样做是因为我想使用WordPress的默认feed作为新会员Feed。

现在你的会员管理的责任完成了。

建立作者页面

现在剩下的工作是需要建立author.php模板文件,用来显示所有WP User Manager插件允许接受的新会员个人资料信息。

由于是教程,我们仅给用户档案页面增加了两个新字段:business_namebusiness_owner

在author.php模板文件的顶部我们将增加这样的代码。提示:每个你增加的新字段需要在这里声明。

<?php
/*
Template Name: Author Template
*
global $wp_query;
$curauth = $wp_query->get_queried_object();
$key="wpum_"."business_name";
$business_name = get_usermeta($curauth->ID, $key);
$key="wpum_"."business_owner";
$business_owner = get_usermeta($curauth->ID, $key);
?>

现在在下面,即你的模板的主体部分,我们将增加这些数据,并在结构标记下显示:

<?php get_header(); ?>
<div id="bodycontent" >
<div class="bodytext" >
<h2><?php echo $business_name; ?></h2>
<p>The owner of this business is <?php echo $business_owner; ?></p>
</div>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>

下一步也是显示一些会员填入他们资料的默认字段值。我只想显示他们的网站地址及关于用户的部分,所以我们这样修改模板:

<?php get_header(); ?>
<div id="bodycontent" >
<div class="bodytext" >
<h2><?php echo $business_name; ?></h2>
<p>The owner of this business is <?php echo $business_owner; ?></p>
<p>Website: <a href="<?php echo $curauth->user_url; ?>"><?php echo $curauth->user_url;
?></a></p>
<p>About the Business: <?php echo $curauth->description; ?></p>
</div>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>

提示:关于$curauth-> calls返回的全部列表值请查看WordPress Codex

最后,我们想做一些基础的错误检测。

如果会员没有在business_owner字段填入信息会发生什么?假若这样,我们可以把这行包括在一条if语句中(~~或者任何我们想要保护为非空的变量):

<?php if ($business_owner != null) { echo "<p>The owner of this business is
".$business_owner."</p>"; }; ?>

列出你的会员

怎样能列出你批准的会员?非常简单,只要添加wp_list_atuthors函数到模板文件的任何地方。这是我使用的该函数的定制版本:

<?php wp_list_authors(’hide_empty=1&show_fullname=0&optioncount=0&exclude_admin=0′);
?>

教程总结

这篇教程是基于我建立并发展Pittsburgh Designers社区为一个创作类型繁荣且本地化的会员关系目录的经验上。漫步于网站,偷偷为自己看一下这样完成的项目会像什么样。

你可以到这下载完整的author.php模板文件。

关于作者

Chiris Cagle是来自匹兹堡的自由网页设计者,他的项目有Pittsburgh Designers AdClustr

原文:How to Use WordPress as a Membership Directory

来自:http://www.hitigon.com/websitedev/wordpress/how-to-use-wordpress-as-a-membership-directory/