it-swarm.com.de

Wie stelle ich eine andere statische Homepage für die mobile Version ein? (WordPress)

Ich hätte gerne eine andere statische Homepage für meine mobile Version meiner Website. Es ist nicht wirklich eine extra mobile Version, aber es reagiert.

Ich habe gerade einen Vollbild-Schieberegler als statische Startseite eingestellt. Dies passt sich der Bildschirmgröße an, da die Website sehr dynamisch aufgebaut ist. Auf einem mobilen Gerät wie einem iPhone sieht es jedoch nicht besonders gut aus. Ich habe also diese andere Homepage-Vorlage, die ich verwenden möchte, wenn die Website auf einem mobilen Gerät angezeigt wird.

Kann dies durch Plugins geschehen oder sollte dies durch Codierung geschehen? Ich möchte keinen Theme-Switcher oder ähnliches verwenden, sondern nur eine andere statische Seite für Mobilgeräte einrichten.

Weiß jemand, wie das geht?

14

Sie können wp_is_mobile verwenden, um nach Handys zu suchen, und sich in template_redirect einhängen, um eine andere Vorlage zu laden, wenn Handys erkannt werden:

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' );
10
diggy

Ich würde Mobile-Detect in das Theme in einem eigenen Ordner einfügen und diesen Code am Anfang von header.php einfügen:

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
    }
}

Sie können diese Lösung an Ihre Bedürfnisse anpassen. Ich habe dies für mehrere Projekte für ähnliche Lösungen verwendet.

9
MrZiggyStardust

Das sollte funktionieren: (in functions.php einfügen)

    //* 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
}

Ersetzen Sie "/ webshop /" durch Ihren Link der mobilen Homepage.

1
Sander Steffen

Sie könnten versuchen, Detectmobilebrowsers script zu verwenden.

Wie ich mich erinnere, ist es nur eine PHP-Datei und hat eine einzige Funktion, die fragt, wie verschiedene mobile Geräte (iPhones, iPads, Androids, Windows Phones, BlackBerrys und Palm-Geräte) zu behandeln sind.

Sie können eine bessere Vorstellung davon bekommen, wie das Skript funktioniert, indem Sie zu dieser Funktionsgenerator Seite gehen.

0
user850010

Fügen Sie Ihrer functions.php Folgendes hinzu:

//* 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
}
0
Yahya Hussein

Es ist einfach und es muss nicht alles codiert werden. Installiere das "Redirection" Plugin aus dem WordPress Repository. 1. Gehen Sie zur Einstellungsseite. 2. Geben Sie die "Quell-URL" auf der Startseite Ihres Standard-Desktops ein. 3. Wählen Sie unter "Übereinstimmung" die Option "URL und Benutzeragent" und unter "Aktion" die Option "Zur URL umleiten". Klicken Sie auf "Umleitung hinzufügen". 4. Die neue Konfigurationsoption wird angezeigt. Geben Sie einen beliebigen Titel ein. Die "Quell-URL" muss leer sein (bedeutet, dass dies Ihre Basis-Homepage ist). Wählen Sie unter "User Agent" aus, ob Sie ein iPhone oder ein Android-Gerät verwenden möchten. Stellen Sie bei der Option "Abgestimmt" die gewünschte Umleitung für die mobile Homepage ein.

Erledigt!

Sie können die Startseite auf dem Desktop und dem Mobilgerät sicherlich anhand der zuvor mit diesem Plugin festgelegten Umleitung unterscheiden. Sie können jedoch nicht denselben URL-Namen verwenden (z. B. www.abcde.com für Desktop- und www.abcde.com/mobilehomepage für Mobilgeräte).

0
TesarG

Das ist großartig für mich:

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