这很简单:如何将移动用户重定向到/移动,但仍然允许他们单击“完整站点”按钮并查看完整站点,而无需再次重定向回移动站点?
我玩过很多插件,它们说自己可以做到这一点,但似乎并没有一个能处理第二步。它们重定向到/手机。但如果用户想要访问完整的站点,它会尝试然后重定向回移动。
我正在运行WP3。0.1
这很简单:如何将移动用户重定向到/移动,但仍然允许他们单击“完整站点”按钮并查看完整站点,而无需再次重定向回移动站点?
我玩过很多插件,它们说自己可以做到这一点,但似乎并没有一个能处理第二步。它们重定向到/手机。但如果用户想要访问完整的站点,它会尝试然后重定向回移动。
我正在运行WP3。0.1
function mobile_redirect() {
if (isset($_COOKIE["redirected"]) && $_COOKIE["redirected"])
return;
global $is_iphone;
if( isset($is_iphone) && $is_iphone ) {
wp_redirect( \'/mobile/\' );
setcookie("redirected", true);
exit;
}
}
add_action(\'init\', \'mobile_redirect\');
此代码将每个移动访问者重定向到/mobile/,然后设置重定向用户的cookie。如果设置了cookie,则不会发生重定向。因此,如果用户再次访问您的站点,它将不会重定向到移动url。如果url中有一个变量,如/?v=桌面,然后如果访问该url,它将设置cookie,不再重定向。
更新
使用内置$is\\u iphone变量;泰晤士河至凯撒。
顺便说一句:每个移动设备都使用一个奇怪的变量名称$is\\U mobile是一个更好的名称。
检查$is_iphone;
变量然后自己重定向。
我同意肖恩的观点。如果你把当前的主题设计得很好,你可以让移动设备使用不同的样式表。所以基本上你只需要一个主题,两个不同的风格变体。
用于根据桌面或移动设备站点访问更改样式表的示例代码:
// Function in functions.php file
function is_mobile_device(){
$device = \'\';
if( stristr($_SERVER[\'HTTP_USER_AGENT\'],\'ipad\') ) {
$device = "ipad";
} else if( stristr($_SERVER[\'HTTP_USER_AGENT\'],\'iphone\') || strstr($_SERVER[\'HTTP_USER_AGENT\'],\'iphone\') ) {
$device = "iphone";
} else if( stristr($_SERVER[\'HTTP_USER_AGENT\'],\'blackberry\') ) {
$device = "blackberry";
} else if( stristr($_SERVER[\'HTTP_USER_AGENT\'],\'android\') ) {
$device = "android";
}
if( $device ) {
return true;
} return false; {
return false;
}
}
// Code in header.php
<?php if (is_mobile_device()) {
echo \'MOBILE STYLESHEET\'
} else {
echo \'DESKTOP STYLESHEET\' }
?>
我正在我的网站上使用Obox Mobile(http://clickwp.com)即使使用W3 Total Cache,它也能很好地工作。您可以毫无问题地切换到完整站点。
尽管我同意,如果你正在寻找一个简单的解决方案,那么一个响应性主题可能是最好的方式。正如你在我的网站上看到的,sideshow画廊无法扩展。一个构建良好的响应主题将考虑这些因素,因为它不依赖第三方插件来提供移动功能。
也就是说,在我有时间和金钱让我的网站响应之前,Obox Mobile对我来说是一个很好的解决方案。如果你想购买,请使用我的会员链接,谢谢!
http://www.obox-design.com/premium-wordpress-themes.cfm?afId=DB7FA9B3&bannerId=40
几天前,我发布了我网站的移动版。看起来不错。我曾经mobilepress 同样如此。但我发现shortcodes 正在显示为简单文本。是否有其他插件可以构建高效的移动版本,包括短代码翻译