2

有没有办法做到这一点?

我的网站是http://kennethreitz.com。它由顶级 Wordpress 上的一些适度的 PHP 驱动。

我的选择是检测用户是否正在使用 iphone,如果他们是

a)告诉wordpress加载我写的不同的“主题”。b) 如果这不可能,请在使用不同主题的同一数据库运行的子域 (i.kennethreitz.com) 上安装不同的 wordpress。

出于搜索引擎优化的原因,我宁愿能够做 A。

有任何想法吗?

4

5 回答 5

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;
}
于 2011-06-08T21:50:12.507 回答
3

你看过iWPhone吗?

这是一个 Wordpress 插件和主题,可以自动检测访问者是否来自 iPhone 并适当地格式化。如果您愿意,可以很容易地替换您自己的自定义 iPhone CSS,尽管基本主题相当不错。

还有WPTouch,它在功能上看起来相似,但更新了一些,并且具有更好的管理集成。

于 2009-08-30T03:41:24.990 回答
2

这是一个 Wordpress 插件,它为不同的浏览器(例如 iPhone)提供不同的主题:

http://code.kuederle.com/browserbasedthemes

于 2010-08-20T19:05:32.377 回答
0

我没有使用 WordPress 的经验,但iWPhone 插件 + 主题看起来可能有用

于 2009-08-30T03:45:47.040 回答
0

开箱即用,你不能做 A 或 B。

无法加载不同的主题,因为该选项存储在 wp_Options 表下的数据库中。此设置是站点范围的,而不是每个用户的。选项 B 也不是一个选项,因为您将共享同一个数据库,您将为主题选择相同的值。

如果您查看 wp_options 表,主题设置将在对应于“模板”和“样式表”的记录中找到。

于 2009-08-30T03:46:26.510 回答