你是否有多个博客,每个博客都是使用多个 WordPress 博客?那么你是否厌烦了重复多次的升级,重复多次的安装插件?如果是的,你是否尝试过一个 WordPress 安装,就能给多个博客使用呢?下面我就能讲讲我如何实现一个 WordPress 安装实现多个博客共同使用。
第一步,肯定是把所有的域名都指定到相同的 WordPress 安装目录下。这样才能使得所有博客使用同一个 WordPress 安装。
第二步要分两种情况:
第一种是使用不同的数据库。只需要在 wp-config.php 文件的开头加入以下代码:
$hostname = $_SERVER['HTTP_HOST']; switch ($hostname) { case "fairyfish.com": $db = "db1"; break; case "denis.fairyfish.com": $db = "db2"; break; } // ** MySQL settings ** // define('DB_NAME', $db); // The name of the database
代码很简单就是根据不同的域名,给 DB_NAME 不同的数据库名的值。这里是假定你使用相同的数据库用户名,如果你的数据库用户名,也可以在每个 case 语句中指定。
第二种情况是使用相同的数据库,这个时候我们可以使用不同 table_prefix 来搞定。方法基本和上面相同。我也不再重复代码。对于这种情况,已经有一款插件他能帮助你完成所有的了工作,WP-Hive,这款插件除了能够给你不同的博客指定一个不同的 table_prefix 之外,还能够通过 rewriter 实现每个博客都能有自己的 favicon,sitemap.xml 和 robots.txt。
最后让所有的博客使用相同的用户。这个功能只能适合 WordPress 2.6 之后的版本。实现方法是在 wp-config.php 文件中指定 CUSTOM_USER_TABLE 和 CUSTOM_USER_META_TABLE 这两个值为常量,使得所有的博客都是用同一个 USER 和 USERMETA 表,从而达到所有博客拥有相同的用户。

沙渺 | 2008-11-07 21:15:07 | #
写了篇续貂补遗,讲了讲有必要注意的一些小细节。
http://fairyfish.net/2008/09/22/one-wordpress-installation-multiple-blogs/
支持 反对
沙渺 | 2008-11-07 21:15:59 | #
错了错了,补遗的地址在:
《同一个WordPress程序建设多个博客:续貂补遗 – 沙渺很忙》
http://shamiao.com/2008/11/1wp-mulblog-attpts.php
支持 反对
Denis | 2008-11-07 21:33:48 | #
下面的 pingback 就是你的。汗下!
支持 反对
沙渺 | 2008-11-08 09:03:09 | #
太丢人了。
对了,如果denis不介意,能否请您删去写错的那条评论,感谢您。
支持 反对
ray1980 | 2008-12-12 10:38:12 | #
出现这样的错误是什么回事啊?
Warning: array_keys() [function.array-keys]: The first argument should be an array in /home/koryi/public_html/wp-includes/widgets.php on line 1044
支持 反对
菜 | 2009-01-23 00:50:50 | #
我比較菜…誰能告訴我把那兩個值指定爲常量該怎麽干…
拜托了
支持 反对
沙渺 | 2009-03-16 21:38:18 | #
就这样
define(‘CUSTOM_USER_TABLE’, ‘wp_users’);
define(‘CUSTOM_USER_META_TABLE’, ‘wp_usermeta’);
支持 反对
Garfield | 2009-03-19 21:51:37 | #
謝謝,去試試~
支持 反对
cocoswan | 2009-05-31 07:21:05 | #
你好~
刚买了域名,也想用WP的模板来着。
但没人指导,自己找了好久百度也没见出个教程。
因为我暂时没有没虚拟主机什么的,所以我用的免费空间。
我想问一下是不是必须买带SQL的主机呢。因为我看WP安装教程里要求填写SQL名称什么的。。。
或者你告诉我你是自己买的空间么???买的哪的呀。。多大呢??
问题多多,但先谢谢了哦。。。。
---------一个啰嗦+纠结+无措 滴人求助~!
支持 反对
Denis | 2009-05-31 14:40:23 | #
wfans.org
支持 反对
cocoswan | 2009-05-31 16:35:05 | #
嗯。我先进论坛看看。。。
谢谢了。
支持 反对
crys | 2009-07-25 16:29:42 | #
你好,我安装了wp-hive后,如何“把所有的域名都指定到相同的 WordPress 安装目录下”呢,我试了许久都没找到方法
支持 反对
leeyi | 2009-11-21 15:14:02 | #
我用的是hostmonster 的主机,想要用一套wordpress系统在一个数据库中安装多个博客,按楼主的方法试了几次不行,请问楼主是如何使用不同 table_prefix 来搞定的呢,能不能提供wp-config.php 文件修改后的详细代码呢?
支持 反对
Denis | 2009-11-22 02:18:59 | #
定义 $table_prefix 然后把默认的 $table_prefix 删除了!
支持 反对
doriszhu | 2010-04-27 15:49:27 | #
$hostname = $_SERVER['HTTP_HOST'];
switch ($hostname) {
case “dorismm.com”:
$db = “dor1005005273727″;
break;
case “dorismm.net”:
$db = “dorismm”;
break;
}
// ** MySQL settings ** //
define(‘DB_HOST’, $db.db.5702186.hostedresource.com);
这个定义里$db怎么改啊?
支持 反对
Denis | 2010-04-28 10:12:07 | #
你不是改了吗?
支持 反对
doriszhu | 2010-05-06 10:02:24 | #
运行到define那边报错了,Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING,我也不知道怎么修改,麻烦大人帮忙看看。
支持 反对
Denis | 2010-05-06 10:37:25 | #
语法错误,注意下是英文的标点符号!
支持 反对