一个wordpress程序搭建多个网址的方法

2021-01-02 数据后台

我一直感觉多个wordpress程序搭建不同的网站有点太浪费了,对于空间资源的优化利用,我感觉可以一个wordpress程序带动多个网站。

首先是wordpress的运行原理

wordpress也是一个内容管理架构,通过调用数据库里的不同表而实现了不同样式。

在创建wordpress网站初期,我们会自动创建一系列数据库表,并给它们一个统一的前缀名。那么,我们将两个不同前缀名的数据表放在一起,然后有选择性的让wordpress调用不就可以实现了不同网站了吗!?

带着这个思路,我开始着手修改wordpress程序。

找到表数据的存放文件:wp-config.php

它在wordpress文件的子目录里,记录了安装wordpress后所有的数据库相关信息,其中的变量$table_prefix就是表前缀名。

我想使用GET和cookie来改变变量$table_prefix,使得网站可以随时调用不同的数据库表。于是我修改成了这段代码:

if(!empty($_COOKIE['rujuestyle'])){
	$rujuestyle = $_COOKIE['rujuestyle'];
}
if (!empty($_GET['rujuestyle'])) {
	$rujuestyle = $_GET['rujuestyle'];
	setcookie('rujuestyle',$rujuestyle,time()+3600);
}
switch ($rujuestyle) {
	case 'wp':
		$table_prefix = $rujuestyle.'_';
		break;
	
	default:
		$table_prefix = 'rj_';
		break;
}

代码解读

如果网站保留了相关cookie值那么我们就调用对应的前缀,有get值时我们会优先调用其数据,并改变其cookie值。最后通过判断变量确认最终$table_prefix值。

我们在切换网站时候只需要输入类似代码即可:网址?rujuestyle=wp

写在结尾的话

虽说已经有很多插件可以改变主题模板,但它们没有改变调用的数据库表,所有网址内容还是一样的,而我这种做法可以完全搭建出不同的网站效果,当然,建议多个网站在demo环境中测试完毕后再迁入真实环境中。

称呼
邮箱
网站