您的位置:首页»WordPress 教程, 进阶使用»  使用一个 WordPress 安装多个博客/网站

使用一个 WordPress 安装多个博客/网站

许多人用上 WordPress 就疯狂的迷恋上了它,恨不得把所有的博客/网站都使用 WordPress。那么,你的第一反应是否是为不同的博客/网站指定不同的目录,并分别为其安装不同的 WordPress 呢?也许这是最简单的方法,但是,如果遇到 WordPress 升级,或者启用相同的插件,那么,你也不得不进行多余的重复劳动。幸运的是,我们可以使用一个 WordPress 来建立多个博客/网站。
聪明的您,可能会立刻想到使用 if 语句判断,但是,我们还有一个更加简洁的方法–使用 switch 循环。当我们使用多个类似的 if 判断时,可以使用 switch 循环减少代码和重复劳动。其语法如下:

switch (expr) {  case expr1:    statement1;    break;  case expr2:    statement2;    break;   }

其中的 expr 条件,通常为变量名称。而 case 后的 exprN,通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。
了解了 switch 循环的使用方法后,我们就可以照葫芦画瓢,使用一个 WordPress 来建立多个博客/网站了:
第一步,把所有的域名都指定到相同的 WordPress 安装目录下。这样才能使得所有博客使用同一个 WordPress 安装。
第二步,在 wp-config.php 文件的开头加入以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$hostname = $_SERVER['HTTP_HOST'];
 
switch ($hostname) {
case "1.com":
    $db = "db1";
    break;
case "2.com":
    $db = "db2";
    break;
}
 
// ** MySQL settings ** //
define('DB_NAME', $db);
define('DB_USER', 'usernamehere');  //数据库用户名
define('DB_PASSWORD', 'yourpasswordhere');  //数据库密码
define('DB_HOST', 'localhost');

当然,如果只有一个数据库,那也不用愁,我们可以使用不同数据库表前缀(table_prefix) 来搞定,具体方法请参见 wp-config.php 文件详解
eachSite 的教程,都力求授人以渔,让大家在解决问题的同时,学到更多的原理。如果您还有其他疑问,请留言或加入QQ群:8329980 讨论;如果您也想加入我们,一起完善《WordPress 从入门到精通》这部教程,请留言或联系我们。

7个评论

  • Reply 1 sofish

    December 20th, 2008 at 11:49

    Good, 多一个btfish参与的站了。你不写“啥普斯”了?

    • Reply 2 辐射鱼

      December 20th, 2008 at 12:12

      我们不再讨论我能为 WordPress 啦,现在来讨论我能用 WordPress 做点什么吧……eachSite 争取用《WordPress 从入门到精通》这个完整教程,让大家把更多的精力放在博客/网站的本职工作上

  • Reply 3 nooidea

    December 20th, 2008 at 23:13

    最近域名打折 刚好想再新建个 :) 改天说不定用上了~~

  • Reply 4 yes!Ray

    December 25th, 2008 at 22:19

    呵呵,我参考了这个方法用一个程序,两个数据库做了两个WP站,但是发现执行效率很是问题,总有那么几个时间是显示页面空白的,或者在登陆后台管理时会左上角会出现一个“诺“字。好像还是各个分开的好!

    • Reply 5 辐射鱼

      December 25th, 2008 at 22:47

      不会哦,站趣和我自己的博客就是同用的一个 WordPress 建立起来的,没有任何问题。关于执行效率,你应该将访问量大的放在前面,后台出现诺字,应该是汉化有问题吧,不知你从哪里下的语言包

  • Reply 6

    March 31st, 2009 at 13:11

    请教博主:我想在WP的基础上,另建一个主页,使wp-blog作为那个主页的链接或内容之一,我该怎么做呢?
    此外,wp2.7-bolg中单篇文章页面的底部显示下面代码,怎么解决:
    Fatal error: Call to undefined function wp_related_posts() in /home/tanccb/public_html/blog/wp-content/themes/WordPress BBtheme CMS/single.php on line 33

    联系邮箱:hao3hao@gmail.com

    谢谢

  • Reply 7 广西博客

    June 27th, 2009 at 07:42

    哇…一大早又收获不小。