2013-04-23 8 views
14

私のウェブサイトのモバイル版とは異なる静的なホームページを作りたいと思います。 これは本当に余分なモバイルバージョンではありませんが、それは敏感です。モバイル版の別の静的ホームページを設定するにはどうすればよいですか?

私は現在、フルスクリーンイメージスライダーを静的ホームページとして設定しています。これはウェブサイトの構造的なビルドのためにスクリーンサイズに比例しますが、iPhoneなどのモバイルデバイスではあまりうまく見えません。だから私はこのウェブサイトがモバイルデバイスで表示されているときに使用したいと思うこの他のホームページテンプレートを持っています。

これはどのプラグインでも行うことができますか、それともコード化する必要がありますか?私はテーマスイッチャーなどを使用したくないので、モバイルデバイス用に別の静的ページセットを用意したいだけです。

誰でもこの方法を知っていますか?

答えて

10

あなたは携帯をチェックするwp_is_mobileを使用して、携帯が検出された場合、別のテンプレートをロードするためにtemplate_redirectにフックできます。

function so16165211_mobile_home_redirect(){ 
    if(wp_is_mobile() && is_front_page()){ 
     include(get_template_directory() . '/home-mobile.php'); 
     exit; 
    } 
} 
add_action('template_redirect', 'so16165211_mobile_home_redirect'); 
+0

は私が間違っているかもしれないが(と私は私がしたいと思います願っていますこれも使いたいのですが) 'wp_is_mobile'にはタブレットが含まれているため、リダイレクトを適用することができます。これを自分で使っていますか?これを確認できますか? +1 – McNab

+1

コードは完璧ではありません。このディスカッションは面白いかもしれません:http://wordpress.stackexchange.com/questions/73273/wp-is-mobile-function – diggy

+0

非常に便利なリンク、ありがとう:) – McNab

0

あなたはdetectmobilebrowsersスクリプトを使用しようとすることができます。

私は覚えているように、それはただ一つのPHPファイルであり、異なるモバイルデバイス(iPhone、iPad、アンドロイド、Windows Phone、BlackBerryおよびPalmデバイス)をどのように扱うかを尋ねる機能を持っています。

このfunction generatorページに行くと、スクリプトの仕組みがわかります。

9

私は独自のフォルダにテーマにMobile-Detectを含めるとheader.phpのの初めにこのコードを追加します。

if(is_front_page()){ 

    include_once('mobile-detect/Mobile_Detect.php'); 
    $detect = new Mobile_Detect(); 

    if ($detect->isMobile() || $detect->isTablet()) { 
     $redirect_url = 'http://example.com/mobile_home'; 
     header('Location: ' . $redirect_url); // Redirect the user 
    } 
} 

あなたがしたいだけのように動作するために、このソリューションをカスタマイズすることができます。私はこれを類似のソリューションのためのいくつかのプロジェクトに使用しました。

+0

私は使っていますこれはいくつかのプロジェクトでも同様にうまく動作し、簡単にカスタマイズできます。 – gscharles

0

すべてをコードするのは簡単で、必要はありません。 Wordpressリポジトリから "Redirection"プラグインをインストールしてください。 1.設定ページに移動します。 2.デフォルトのデスクトップのホームページ で「ソースURL」を入力します。3.「一致」オプションで、「アクション」オプションで「URLとユーザーエージェント」&を選択し、「URLへのリダイレクト」を選択します。 [リダイレクトの追加]をクリックします。 4.新しい設定オプションが表示されます。あなたが望むタイトルをつけてください。 「ソースURL」は空白でなければなりません(これはあなたのベースのホームページを意味します)。 "User Agent"オプションで、iPhoneかAndroidかを選択します。 [一致する]オプションで、モバイルホームページに必要なリダイレクトを設定します。

完了!

あなたは、そのプラグインで以前設定したリダイレクトに基づいて、デスクトップとモバイルデバイスのホームページを確実に区別することができます。ただし、同じURL名を使用することはできません(モバイルデバイスの場合は、デスクトップの場合はwww.abcde.com & www.abcde.com/mobilehomepage)。

0

これは動作するはずです:(のfunctions.phpに挿入)

//* Redirect homepage on mobile 
 
add_action('wp_head', 'wps_params', 10); 
 
function wps_params() { 
 
    ?> 
 
    \t <script> 
 
\t if (window.location.pathname == '/' && jQuery(window).width() <= 480) { 
 
\t window.location = "/webshop/"; 
 
\t } 
 
\t </script> 
 

 
    <?php 
 
}

モバイルホームページのあなたのリンクを持つ "/ウェブショップを/" に置き換えます。

0

これは私のために素晴らしいです:トリック行う必要があり、あなたのfunctions.phpに以下を追加する

function so16165211_mobile_home_redirect(){ 
    if(wp_is_mobile() && is_front_page()){ 
     include(get_template_directory() . '/home-mobile.php'); 
     exit; 
    } 
} 
+0

多分、このコードはどこに行くべきか、何をするのか、そしてどのように使うのかでこの答えを広げてください。 – Clonkex

0

//* Redirect homepage on mobile 

add_action('wp_head', 'wps_params', 10); 

function wps_params() { 
?> 

<script> 
if (window.location.pathname == '/' && jQuery(window).width() <= 480) { 
    window.location = "/webshop/"; 
} 
</script> 

<?php 
} 
関連する問題