WordPressでサイトを作成する際に、
「スマートフォンサイトは作らないけど、ちょっと意識したい。」
そんなときに活躍するコードを紹介します。
①モバイルの判定
まずは、phpで電話出来る端末かどうかの判定。ちょっと適当だけど・・・(^.^)
//モバイルの判定
function mobile() {
$ua = $_SERVER['HTTP_USER_AGENT'];
if ((strpos($ua, 'Android') !== false) && (strpos($ua, 'Mobile') !== false) || (strpos($ua, 'iPhone') !== false) || (strpos($ua, 'webOS') !== false)|| (strpos($ua, 'Windows Phone') !== false)|| (strpos($ua, 'BB') !== false)) {
// スマートフォンからアクセスされた場合
return 'mobile';
} elseif ((strpos($ua, 'Android') !== false)) {
// タブレットからアクセスされた場合
return 'tablet';
} elseif ((strpos($ua, 'iPad') !== false)) {
// タブレットからアクセスされた場合
return 'tablet_notphone';
} elseif ((strpos($ua, 'DoCoMo') !== false) || (strpos($ua, 'KDDI') !== false) || (strpos($ua, 'SoftBank') !== false) || (strpos($ua, 'Vodafone') !== false) || (strpos($ua, 'J-PHONE') !== false)) {
return 'keitai';
} else {
// その他(PC)からアクセスされた場合
return 'pc';
}
}
②コンテンツ内の電話番号を電話できるショートコード
電話番号はテキストでも画像でも対応できる
//電話番号リンクにするショートコード
function tel_call($atts, $content = null){
$mobile = mobile();
if($mobile =='mobile' || mobile =='tablet'):
extract(shortcode_atts(array(
'tel' => 0,
), $atts));
return ''.$content.'';
else:
return ''.$content.'';
endif;
}
add_shortcode('tel', 'tel_call');
これでショートコードとして使用可能
おまけ・・・モバイルだったら改行
//モバイル環境のときにとりあえず改行しちゃう
function mbr(){
$mobile = mobile();
if( $mobile == 'mobile'):
echo '
';
endif;
}