2012-12-12 73 views
0

我想爲移動特別是iPhone和Android訪問者顯示不同的主題。 是的WPtouch插件在很好的解決方案,但我想顯示全新的jquery mobile爲基礎的移動唯一的主題。WordPress的:如何爲移動用戶顯示不同的主題

我在手機中檢測到手機後,如何顯示用戶的手機主題?

+1

[你嘗試過什麼(http://whathaveyoutried.com/)? – ghoti

+1

看到這個:http://wordpress.stackexchange.com/questions/3875/how-to-detect-mobile-devices-and-present-them-a-specific-theme – GBD

回答

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'); 

Personnaly,我已經實現了一個WURFL解決方案來檢測服務器端的設備,而且安全性非常好,因爲檢測用戶代理字符串內的字符串的簡單方法並不是最可靠的(我還需要額外的設備功能信息,只有WURFL可以提供這些信息)。我的解決方案是:如果沒有數據存儲在我設置的deviceinfo cookie中,我執行WURFL進行設備檢測,將所有信息存儲在cookie中。在後續訪問或後續頁面中,我直接從cookie獲取信息,並使用上述過濾器提供適當的主題,而無需實例化WURFL對象。 否則,您可以使用更簡單的邏輯來讀取用戶代理字符串(如WPTouch所做的那樣):它不太可靠,但說實話,它可以工作超過90%的時間(根據我自己的經驗,但我如果你必須考慮到某些地理區域,這可能是錯誤的),所以這可能就足夠了。 GBD在他的評論中給了你一個例子。

相關問題