有没有办法做到这一点?
我的网站是http://kennethreitz.com。它由顶级Wordpress上的一些温和PHP驱动。
我的选择是检测用户是否正在使用iphone,以及是否
a)告诉wordpress加载我写的不同“主题”。 b)如果无法做到这一点,请在使用不同主题的同一数据库中运行的子域(i.kennethreitz.com)上安装不同的wordpress。
我宁愿能够出于搜索引擎优化的原因做到A.
有什么想法吗?
答案 0 :(得分:12)
http://www.nathanrice.net/blog/serve-ie6-visitors-the-default-wordpress-theme/演示了如何使用模板过滤器动态更改WordPress主题(在本例中为IE6,但可能适用于移动用户代理):
add_filter('template', 'serve_default_to_iesix');
add_filter('option_template', 'serve_default_to_iesix');
add_filter('option_stylesheet', 'serve_default_to_iesix');
function serve_default_to_iesix($theme) {
if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 6') !== false)
$theme = 'default';
return $theme;
}
答案 1 :(得分:3)
你看过iWPhone了吗?
这是一个Wordpress插件和主题,可以自动检测访问者是否来自iPhone并正确格式化。如果你愿意,很容易替换你自己的自定义iPhone CSS,虽然基本主题相当不错。
还有WPTouch看起来在功能上相似,但是更新一点并且具有更好的管理集成。
答案 2 :(得分:2)
这是一个Wordpress插件,可以为不同的浏览器(例如iPhone)提供不同的主题:
答案 3 :(得分:0)
我没有使用WordPress的经验,但iWPhone plugin + theme似乎可以正常工作
答案 4 :(得分:0)
开箱即用,你不能做A或B.
无法加载其他主题,因为该选项存储在wp_Options表下的数据库中。此设置是站点范围的,不是每个用户。选项B也不是一个选项,因为您将共享相同的数据库,您将为主题选择相同的值。
如果查看wp_options表,主题设置将在与“template”和“stylesheet”对应的记录中找到。