Support » Allgemeine Fragen » Weiterleitung auf externe Seite geräteabhängig

  • Gelöst nicoskl

    (@nicoskl)


    Guten Morgen zusammen,

    ich habe bereits ein einiger Zeit eine ganz normale Seitenweiterleitung mit dem Redirection-Plugin laufen.

    Folgendes habe ich vor: Ich möchte nicht jeden Besucher bei Aufrufen meines Links auf dieselbe externe Website weiterleiten, sondern die Umleitung geräteabhängig machen.
    Bedeutet, dass ich mobile Nutzer auf eine andere Seite leiten will, als ich das mit Desktop-Usern mache.

    Weiß da jemand eine Lösung? (Egal ob über ein mir bisher unbekanntes Plugin oder über einen anderen weg)

    Vielen Dank euch schonmal!

Ansicht von 9 Antworten - 1 bis 9 (von insgesamt 9)
  • Der User-Agent ist dein Freund (und Feind)!

    https://stackoverflow.com/questions/31802737/redirect-website-from-different-user-agent-in-php
    https://stackoverflow.com/a/54671869

    Schau dir auch mal die Funktion wp_is_mobile() an, dort sind auch Beispiele drinnen.

    Einen User anhand des User-Agents zu identifizieren ist aber nicht immer möglich, weil der User-Agent einfach manipuliert werden kann.
    Gar net so aus bösartigen Gründen, ein iPad zb will als Desktop-Gerät erkannt werden – weil der Bildschirm zu „gut“ ist, um mit mobilem Design versorgt zu werden.
    Und weil es ziiiiiiiiiiiiiiiiiiiig User-Agent-Kennungen gibt.

    Du kannst den User-Agent auch per JavaScript auslesen:
    https://dev.to/timhuang/a-simple-way-to-detect-if-browser-is-on-a-mobile-device-with-javascript-44j3

    Aber das hat das gleiche User-Agent-Problem.

    Mit JavaScript kannst du andere Dinge erkennen, zb: Ist das Gerät vom Besucher touch-fähig, wie stehts um die Pixel-Dichte usw usf.
    Alles eindeutige Dinge, die ein mobiles Gerät „eher“ identifizieren.

    Es gibt auch andere interessante Wege festzustellen, ob der Besucher auf einem mobilen Gerät daherkommt:
    https://stackoverflow.com/a/52854585

    • Diese Antwort wurde geändert vor 1 Jahr, 3 Monaten von souri.
    Thread-Starter nicoskl

    (@nicoskl)

    Danke! @souri

    Da ich jedoch in der WebEntwicklung ein absoluter Anfänger bin, weiss ich nicht wie man PHP wirklich einbindet. Desweiteren möchte ich mein aktuelles Theme weiter nutzen!

    Könntest du mir da weiterhelfen, wie ich JavaScript usw. am Besten einbinde?

    Servus! Das is ein generelles WordPress-Support-Forum.
    Für Entwickler-Fragen ist das eher der falsche Ort, sorry!

    Thread-Starter nicoskl

    (@nicoskl)

    @souri Ich hab mich ein wenig falsch ausgedrückt 🙂 Ich bin WordPress-Nutzer und möchte das Genannte einbinden! Ich weiß nur nicht, wie man PHP/JS mit WordPress kombiniert!

    Dafür gibt es Plugins, z.B. Code Snippets. Alternativ kannst du auch mit wenig Aufwand eigene Plugins entwickeln. Das alleine wird dir aber vermutlich wenig weiterhelfen, wenn du nicht weißt, was Hooks sind und wie du mit Hooks Code an der richtigen Stelle einbindest.

    Am besten schaust du mal in die Referenz: Plugin Handbook

    Thread-Starter nicoskl

    (@nicoskl)

    Hallo @souri und @pixolin
    Vielen Dank euch beiden! Dank eurer Referenzen konnte ich nun eine geräteabhängige Weiterleitung einrichten 🙂
    Ich wünsche euch beiden ein schönes Wochenende!

    Servus!
    Kannst du deine Lösung hier teilen?
    Es gibt sicher noch andere Mitlesende, die sich für dein Ergebnis interessieren!
    Und bitte stell den Thread auf gelöst!
    Besten Dank dafür!

    Thread-Starter nicoskl

    (@nicoskl)

    Klar!

    <?php
    
    echo "Bitte warten, Sie werden in Kürze weitergeleitet";
    
    $URL="link1.de";
    
    $URL1="link2.de";
    
        if(strstr($_SERVER['HTTP_USER_AGENT'],'Android') || strstr($_SERVER['HTTP_USER_AGENT'],'iPhone') || strstr($_SERVER['HTTP_USER_AGENT'],'iPad' || strstr($_SERVER['HTTP_USER_AGENT'],'iPod')  || strstr($_SERVER['HTTP_USER_AGENT'],'webOS')  || strstr($_SERVER['HTTP_USER_AGENT'],'BlackBerry')  || strstr($_SERVER['HTTP_USER_AGENT'],'IEMobile')  || strstr($_SERVER['HTTP_USER_AGENT'],'Opera Mini')  )){  
    echo "<script type='text/javascript'>
    document.location.href='{$URL}';</script>";
    echo '<META HTTP-EQUIV="refresh" content="0;URL=' . $URL . '">';
        }
    
     else{  
    echo "<script type='text/javascript'>
    document.location.href='{$URL1}';</script>";
    echo '<META HTTP-EQUIV="refresh" content="0;URL=' . $URL1 . '">';
            exit();
        }
    
    ?>

    Hallo,
    danke für die Info. Denkst du bitte beim nächsten Mal daran, das Thema dann auch als gelöst zu markieren. Das habe ich jetzt schon gemacht.
    Viele Grüße
    Hans-Gerd

Ansicht von 9 Antworten - 1 bis 9 (von insgesamt 9)
  • Das Thema „Weiterleitung auf externe Seite geräteabhängig“ ist für neue Antworten geschlossen.