0

我想为手机特别是 iphone 和 android 访问者展示一个不同的主题。是WPtouch的插件很好的解决方案,但我想展示全新jquery mobile的基于移动的主题。

在移动设备中检测到用户后,如何为用户显示移动主题?

4

2 回答 2

1

首先,您需要创建一个 WordPress 插件,因为在 functions.php 中实现主题切换的逻辑为时已晚,因为它只有在相应的主题确实已经应用时才会被调用!所以你需要在插件中插入你的逻辑(插件文件在主题文件之前执行)然后使用以下过滤器,将你的检测逻辑放在相应的函数中(get_template_for_deviceget_stylesheet_for_device):

    add_filter('template', 'get_template_for_device');
    add_filter('stylesheet', 'get_stylesheet_for_device');
    add_filter('option_template', 'get_template_for_device');
    add_filter('option_stylesheet', 'get_stylesheet_for_device');

就个人而言,我已经实现了一个 WURFL 解决方案来检测服务器端的设备,具有相当好的安全性,因为检测用户代理字符串中的字符串的简单方法并不是最可靠的(而且我还需要额外的设备功能信息,只有 WURFL 可以提供) . 我的解决方案是:如果我设置的 deviceinfo cookie 中没有存储数据,我执行 WURFL 进行设备检测,将所有信息存储在 cookie 中。在后续访问或后续页面中,我直接从 cookie 中获取信息并使用上述过滤器提供适当的主题,而无需实例化 WURFL 对象。否则,您可以使用更简单的逻辑来读取用户代理字符串(就像 WPTouch 所做的那样):它不太可靠,但老实说,它的工作效率超过 90%(根据我自己的经验,但我可能是错的,特别是如果你必须考虑某些地理区域),所以它就足够了。GBD 刚刚在他的评论中给了你一个例子。

于 2012-12-12T13:42:08.297 回答
0

这个插件似乎很适合这个任务 http://wordpress.org/extend/plugins/any-mobile-theme-switcher/

于 2012-12-13T11:39:11.177 回答