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

704Z

在 WordPress 我們也有相關的方法來實現這樣的功能,請看下面的程式碼:

  1. //根據訪問裝置切換 WordPress 主題
  2. function ws_switch_theme($theme){
  3. global $is_IE;
  4. if($is_IE){
  5. preg_match('/MSIEs(d).0;/', $_SERVER['HTTP_USER_AGENT'], $matches);
  6. $IEversion = $matches[1];
  7. if($IEversion=6){
  8. $theme='twentyten';
  9. }
  10. if($IEversion=7){
  11. $theme='twentyeleven';
  12. }
  13. if($IEversion=8){
  14. $theme='twentytwelve';
  15. }
  16. }
  17. if(wp_is_mobile()){
  18. $theme='twentytwelve';
  19. }
  20. return $theme;
  21. }
  22. add_filter('template','ws_switch_theme');
  23. add_filter('stylesheet','ws_switch_theme');

你可以根據上面的程式碼自行修改,在何種裝置訪問時載入什麼主題。注意主題名字一定是主題資料夾名字,而不是後臺管理介面你看到的主題名字。

主題這個程式碼也不能直接扔進 functions.php 檔案中而是要做成一個外掛上傳啟用。

在這裡我用了

wp_is_mobile()

這個 WordPress 自帶函式來檢測移動裝置,不過這個很不準確,有很大可能不能正確判斷移動裝置。

不僅僅檢測移動裝置,而且檢測桌面瀏覽器版本。而且你也可再發揮下,稍稍改下程式碼,就能實現讓使用者自行選擇使用桌面網站還是移動網站並記住選擇。