【スマホ判定】WordPressのモバイル判定と、モバイルテンプレートを一部適用


全体的にモバイル用デザインにするなら、WordPressでスマホ用デザインを適用させるが便利なんだけど、

TOPページだけ、特注のモバイルデザイン(テンプレート)を適用させたいパターンが出てきた。

なので、シンプルにテンプレートを必要数だけ用意して、モバイル判定でそのテンプレートを読み込ませるように作った。

(コードが条件分岐でちょっとゴチャゴチャするのが気に入らないけど。。)

 

page-mobile.phpってファイルに、モバイル用HTMLを作っておく。

必要なら、header-mobile.phpとfooter-mobile.phpもモバイル用に作っておく。
(今回は、作ったのを前提に話を進める)

index.phpやpage.phpとかで

////////////////////// 判定開始
if(wp_is_mobile()){
 echo "モバイルは、page-mobile.phpに飛ばす。";

 if ( $_SERVER['REQUEST_URI'] == 'path/WordPress/' ) {
 //load_template( TEMPLATEPATH . '/page-mobile');
 //get_template_part( "page", "mobile" );
 get_header( "mobile" );//header-mobile.php読込み
 get_template_part( "page-mobile" );//page-mobile.php読込み
 get_footer( "mobile" );//footer-mobile.php読込み

 }

}else{
 echo "PCの場合は、いつも通り";

// (もとからあったコードを、まるっと入れればいいと思う。)
get_header();
?>
 // HTML処理いれる

<!--?php get_footer(); ?-->


<!--?php 
} // モバイル判定終わり。
?-->
////////////////////// 判定終了


 

 

注意点は、wp_is_mobile()って、headerをgetした後じゃないと認識しないっぽい。。。

load_templateとget_template_partの違いがわからない。

load_templateの方が高速です。