wordpress pc スマホ 表示切替 投稿画面
■投稿画面
[is_not_mymobile] PC表示内容 [/is_not_mymobile] [is_mymobile] SP表示内容 [/is_mymobile]
■functions.php
/*================================================ device 振り分け ================================================*/ //iphoneまたはipodで閲覧されているかどうかを判定 function is_iphone() { $ua = $_SERVER['HTTP_USER_AGENT']; if(strpos($ua, 'iPhone')!== false || strpos($ua, 'iPod')!== false) { return true; } else { return false; } } //androidスマートフォンで閲覧されているかどうかを判定する関数 //「mobile」文字列の有無を見ることで、タブレット端末をfalse判定 function is_android() { $ua = $_SERVER['HTTP_USER_AGENT']; if(strpos($ua, 'Android')!== false&&strpos($ua, 'Mobile')!== false) { return true; } else { return false; } } //Mozillaが開発するスマートフォン用OS「Firefox OS」の判定関数 function is_firefox_os() { $ua = $_SERVER['HTTP_USER_AGENT']; if(strpos($ua, 'Android')=== false&&strpos($ua, 'Firefox')!== false&&strpos($ua, 'Mobile')!== false) { return true; } else { return false; } } //Windows Phoneで閲覧されているかどうかを判定する関数 //「mobile」文字列の有無を確認することで、タブレット端末をfalse判定 function is_windows_phone() { $ua = $_SERVER['HTTP_USER_AGENT']; if(strpos($ua, 'Windows')!== false&&strpos($ua, 'Phone')!== false) { return true; } else { return false; } } //BlackBerryで閲覧されているかどうかを判定する関数 function is_blackberry() { $ua = $_SERVER['HTTP_USER_AGENT']; if(strpos($ua, 'BlackBerry')!== false) { return true; } else { return false; } } /***** is_iphone()、is_android()、 is_firefox_os()、is_windows_phone()、 is_blackberry()のどれかがTRUEを返すと is_mymobile()はTRUEを返します。 つまりガラケー・スマホでの閲覧時にはTRUE、 PC・タブレットでの閲覧時にはFALSEを返します。 ******/ function is_mymobile() { if(is_iphone() || is_android() || is_firefox_os() || is_windows_phone() || is_blackberry()) { return true; } else { return false; } } // ショートコード [is_mymobile]ここにコンテンツ[/is_mymobile] function func_is_mymobile($atts=NULL, $content) { if(is_mymobile()) { return $content; } } add_shortcode('is_mymobile', 'func_is_mymobile'); function func_is_not_mymobile($atts=NULL, $content) { if(!is_mymobile()) { return $content; } } add_shortcode('is_not_mymobile', 'func_is_not_mymobile');
■ショートコードの中にショートコード
// ショートコード [is_mymobile]ここにコンテンツ[/is_mymobile] function func_is_mymobile($atts=NULL, $content) { if(is_mymobile()) { $content = do_shortcode( shortcode_unautop( $content ) ); return $content; } } add_shortcode('is_mymobile', 'func_is_mymobile'); function func_is_not_mymobile($atts=NULL, $content) { if(!is_mymobile()) { $content = do_shortcode( shortcode_unautop( $content ) ); return $content; } } add_shortcode('is_not_mymobile', 'func_is_not_mymobile');