首页 > CMS应用 > 正文
wordpress手机版绑定域名 绑定多个域名并启用不同主题

如题,就老老实实做站而言,同一个站用不同的域名的话其实并没有多大好处,但是发散一下思维,你会发现有特别的地方,那就是给自己的网站添加一个移动站点,然后这个时候有人就会说了,直接使用自适应主题不就是了,哪里需要那么麻烦的。嗯,对的,大概看了一下最近的wordpress圈子,自适应主题大行其道,每每总归有各种理由劝说你使用自适应主题,但是对比我这种偏执的人而言,只适应主题简直是太蛋疼了,然后大概找了一下一些方法,说是方法其实就是各种主题调度插件,用的比较舒服的例如WordPress Mobile Pack 1.2.5,可以给移动站点指定主题并且支持绑定域名,但是这个插件用下来又发现一些问题,苦于找不到答案,然后就又接着找解决方案,以下就是找到的解决方案了。

方法1:插件名称:Domain Theme

可以直接后台搜索安装,这个插件最大的功能就是给wordpress绑定不同的域名并且指定不同的主题以及网站标题,其实对于老老实实做站而言,一个站用多个域名并没有多少好处,不过用在给站点添加wap移动站点的话,那就刚刚好了。

方法2:插件名称:WP Mobile Edition
直接后台插件搜索安装,相比Domain Theme插件已经很多年没有更新了,WP Mobile Edition支持wordpress4.5以上的版本,并且功能更加强大,可以自由选择主题调度是根据浏览器来识别还是绑定域名。

方法3:

/*根据浏览器跳转*/
define ('MOBILE_DOMAIN', 'm.luoxiao123.cn');
define ('REAL_DOMAIN', 'www.luoxiao123.cn');
 
if ($_SERVER['SERVER_NAME'] == MOBILE_DOMAIN) {
	define('WP_HOME' ,'http://' . MOBILE_DOMAIN);
	define('WP_SITEURL',WP_HOME);
	define('TEMPLATEPATH', ABSPATH .'wp-content/themes/Ripple_mobile/');
	define('STYLESHEETPATH', ABSPATH .'wp-content/themes/Ripple_mobile/');
 
	define ('MOBILE_THEME', true);
}elseif(strpos($_SERVER['HTTP_USER_AGENT'],'baidu Transcoder')){ //百度转码跳转
	header('Location: '. 'http://' . MOBILE_DOMAIN . $_SERVER["REQUEST_URI"]);
	die();
}else{
 
	if (!empty($_GET['m_action'])) {
		if ($_GET['m_action'] == 'nomobile') {
			setcookie('wordpress_mobile_domain_disable', 1, time()+86400, '/', REAL_DOMAIN, false);
			if (!empty($_SERVER['HTTP_REFERER'])) {
				$go = str_replace(MOBILE_DOMAIN, REAL_DOMAIN, $_SERVER['HTTP_REFERER']);
				header ('location:'.$go);
				die();
			} else {
				header ('location:'.REAL_DOMAIN);
				die();
			}
		}
	}
	$browsers = array (
			'Googlebot-Mobile',
			'Opera Mini',
			'iPhone',
			'BlackBerry',
			'iPod',
			'Android',
			'Bolt',
			'IEMobile',
			'GoBrowser',
			'Skyfire',
			'TeaShark',
			'UC Browser',
			'UCWEB',
			'Opera Mobi',
			'Mobile Safari',
			'SEMC-Browser',
			'Teleca',
			'Series60',
			'Doris',
			'2.0 MMP',
			'240x320',
			'400X240',
			'AvantGo',
			'Blazer',
			'Cellphone',
			'Danger',
			'DoCoMo',
			'Elaine 3.0',
			'EudoraWeb',
			'hiptop',
			'KYOCERA WX310K',
			'LG U990',
			'MIDP-2.',
			'MMEF20',
			'MOT-V',
			'NetFront',
			'Newt',
			'Nintendo Wii',
			'Nitro',
			'Nokia',
			'Palm',
			'PlayStation Portable',
			'ProxiNet',
			'SHARP-TQ-GX10',
			'SHG-i900',
			'Small',
			'SonyEricsson',
			'Fennec',
			'TS21i-10',
			'UP.Browser',
			'UP.Link',
			'Windows CE',
			'WinWAP',
			'LG-TU915 Obigo',
			'LGE VX',
			'Iris',
			'Maemo Browser',
			'MIB',
			'Kindle Basic Web',
			'Myriad Browser',
			'Obigo Browser',
			'Polaris Browser',
			'uZardWeb',
			'WebOS',
			'Deepfish',
			'Dolphin',
			'Firefox Mobile',
			'ibisBrowser',
			'JOCA',
			'Links',
			'Minimo',
			'Pixo',
			'Skweezer',
			'Steel',
			'Tristit',
			'Vision Mobile Browser',
			'Dorothy',
			'Ovi Browser'
		);
	foreach($browsers as $browser) { 
		if (preg_match("/".$browser."/i", $_SERVER['HTTP_USER_AGENT'])) {
			if (!isset($_COOKIE['wordpress_mobile_domain_disable'])) {
				header ('location:http://' . MOBILE_DOMAIN . $_SERVER['REQUEST_URI']);
				die();
			}
		}
	}
}

其实折腾的时间越久,你就越会发现很多鼓吹着跟人分享的,没几个能真的说把所以的东西都分享出来的,凡事还是得靠自己去想办法解决,FML!

文章评论

共有 7 条评论

  1. 徐晓怡

    哪个呦,发这么好的文章,顶你

  2. 徐晓怡

    好文,鉴定完毕,谢谢您了

  3. 徐晓怡

    做做看哦,谢谢提供

  4. 米虫

    完美~方

    1. 米虫

      如果我只想通过域名进行访问分配,是不是方法三中的代码只需要截取极少的一部分就可以用了?(MIP适配)

      1. Past Dust

        Mip我也用wordpress做过很多,直接用Domain Theme插件就好了,不仅可以实现Mip站还能保留之前的移动站,解决方案很完美。

        1. 米虫

          确实可行,已经在适配~非常感谢您的文章~用一个子域名单独做了MIP适配,自适应的主题去做MIP是在太麻烦了~

Top