有没有办法做到这一点?
我的网站是http://kennethreitz.com。它由顶级 Wordpress 上的一些适度的 PHP 驱动。
我的选择是检测用户是否正在使用 iphone,如果他们是
a)告诉wordpress加载我写的不同的“主题”。b) 如果这不可能,请在使用不同主题的同一数据库运行的子域 (i.kennethreitz.com) 上安装不同的 wordpress。
出于搜索引擎优化的原因,我宁愿能够做 A。
有任何想法吗?
有没有办法做到这一点?
我的网站是http://kennethreitz.com。它由顶级 Wordpress 上的一些适度的 PHP 驱动。
我的选择是检测用户是否正在使用 iphone,如果他们是
a)告诉wordpress加载我写的不同的“主题”。b) 如果这不可能,请在使用不同主题的同一数据库运行的子域 (i.kennethreitz.com) 上安装不同的 wordpress。
出于搜索引擎优化的原因,我宁愿能够做 A。
有任何想法吗?
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;
}
这是一个 Wordpress 插件,它为不同的浏览器(例如 iPhone)提供不同的主题:
我没有使用 WordPress 的经验,但iWPhone 插件 + 主题看起来可能有用
开箱即用,你不能做 A 或 B。
无法加载不同的主题,因为该选项存储在 wp_Options 表下的数据库中。此设置是站点范围的,而不是每个用户的。选项 B 也不是一个选项,因为您将共享同一个数据库,您将为主题选择相同的值。
如果您查看 wp_options 表,主题设置将在对应于“模板”和“样式表”的记录中找到。