現在的網頁都使用了響應式佈局,對於不同的設備,使用媒體查詢自動適配設備,但是這對代碼的編寫較為複雜,有些甚至需要使用腳本來完成的功能,那麼我們完全可以使用兩個主題模版,來分別在移動端和 PC 端顯示。

在 WordPress 我們也有相關的方法來實現這樣的功能,請看下面的代碼:
- //根據訪問設備切換 WordPress 主題
- function ws_switch_theme($theme){
- global $is_IE;
- if($is_IE){
- preg_match('/MSIEs(d).0;/', $_SERVER['HTTP_USER_AGENT'], $matches);
- $IEversion = $matches[1];
- if($IEversion=6){
- $theme='twentyten';
- }
- if($IEversion=7){
- $theme='twentyeleven';
- }
- if($IEversion=8){
- $theme='twentytwelve';
- }
- }
- if(wp_is_mobile()){
- $theme='twentytwelve';
- }
- return $theme;
- }
- add_filter('template','ws_switch_theme');
- add_filter('stylesheet','ws_switch_theme');
你可以根據上面的代碼自行修改,在何種設備訪問時加載什麼主題。注意主題名字一定是主題文件夾名字,而不是後台管理界面你看到的主題名字。
主題這個代碼也不能直接扔進 functions.php 文件中而是要做成一個插件上傳啓用。
在這裏我用了
wp_is_mobile()
這個 WordPress 自帶函數來檢測移動設備,不過這個很不準確,有很大可能不能正確判斷移動設備。
不僅僅檢測移動設備,而且檢測桌面瀏覽器版本。而且你也可再發揮下,稍稍改下代碼,就能實現讓用户自行選擇使用桌面網站還是移動網站並記住選擇。