Ausgabe verschiedener Inhalte im Header je nach Sprache

  • Moin zusammen,

    ich möchte einen Slider, den ich im Header eingebunden habe, je nach Sprachauswahl ändern. Sprich, ich habe den Smart Slider 3 in vier Sprachen erstellt und möchte im PHP jetzt sagen, dass bei deutscher Sprache ein anderer genommen werden soll, als bei der englischen...

    So sieht derzeit meine nicht funktionierende Lösung aus:

    PHP
    <?php if ( ICL_LANGUAGE_CODE=='de' ) { echo do_shortcode('[smartslider3 slider=2]');}elseif ( ICL_LANGUAGE_CODE=='en' ) { echo do_shortcode('[smartslider3 slider=4]'); }    elseif ( ICL_LANGUAGE_CODE=='es' ) { echo do_shortcode('[smartslider3 slider=5]'); }    elseif ( ICL_LANGUAGE_CODE=='fr' ) { echo do_shortcode('[smartslider3 slider=6]'); }    ?>

    Vielleicht kann mir jemand helfen, der mehr Plan von PHP hat, als ich.

    Besten Dank

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • lt. Smart Slider 3 Doku müssen die Slider IDs in Anführungszeichen:

    PHP
    <?php if ( ICL_LANGUAGE_CODE=='de' ) { 
      echo do_shortcode('[smartslider3 slider="2"]');
    } elseif ( ICL_LANGUAGE_CODE=='en' ) { 
      echo do_shortcode('[smartslider3 slider="4"]'); 
    } elseif ( ICL_LANGUAGE_CODE=='es' ) { 
      echo do_shortcode('[smartslider3 slider="5"]'); 
    } elseif ( ICL_LANGUAGE_CODE=='fr' ) { 
      echo do_shortcode('[smartslider3 slider="6"]'); 
    } ?>

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Wo genau hast Du den Code denn eingefügt? Wird der falsche Slider ausgegeben, oder gar keiner?

    An den Anführungszeichen dürfte es eigentlich nicht liegen, siehe auch Screenshot in der Doku und intval() im Shortcode selbst.

    Und noch eine Frage am Rande, wird das Plugin WPML benutzt und ist aktiv? ICL_LANGUAGE_CODE ist eine Konstante aus diesem Plugin.

    Einmal editiert, zuletzt von b3317133 (21. Februar 2017 um 14:11)

  • Besten Dank für die schnelle Reaktion, leider hat es damit nicht funktioniert. Ich habe parallel aber diverse Möglichkeiten getestet und eine Lösung gefunden.

  • Wo genau hast Du den Code denn eingefügt? Wird der falsche Slider ausgegeben, oder gar keiner?

    An den Anführungszeichen dürfte es eigentlich nicht liegen, siehe auch Screenshot in der Doku und intval() im Shortcode selbst.

    Und noch eine Frage am Rande, wird das Plugin WPML benutzt und ist aktiv? ICL_LANGUAGE_CODE ist eine Konstante aus diesem Plugin.

    Ich hatte den Code direkt in der header.php und nicht das WPML Plugin, sondern qtransateX zur Übersetzung genutzt. Als "Lösung" habe ich nun alle verschiedensprachigen Slider eingebunden und per CSS die Ausgabe geregelt. Quick and Dirty.

    Wie gesagt, besten Dank fürs Gedanken machen!

  • Die aktuelle Sprache beim Plugin "qTranslate X" würde man mit [FONT=courier new]qtrans_getLanguage()[/FONT] ermitteln.

    PHP
    if ( qtrans_getLanguage() == 'de' ) {
    } ...


    Die Konstante [FONT=courier new]ICL_LANGUAGE_CODE[/FONT] gibt es nur bei Nutzung von WPML.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!