Ich suche nach einer Variablen, die die aktuell verwendete Sprache des Polylang-Plugins ausgibt. So etwas wie:
if($curlang == "en") {
...
}
Die Lösung war einfach:
if (get_locale() == 'en_GB') {
Um die aktuelle Sprache anzuzeigen, können Sie Folgendes verwenden:
<?php echo $lang=get_bloginfo("language"); ?>
Schlicht und einfach
pll_current_language
Gibt die aktuelle Sprache zurück
Verwendungszweck:
pll_current_language( $value );
- $ value => (optional) entweder name oder locale oder slug, standardmäßig slug
gibt entweder den vollen Wert zurück Name oder das WordPress-Gebietsschema (genau wie die WordPress-Kernfunktion 'get_locale') oder den Slug (2-Buchstaben-Code) der aktuellen Sprache.
Dieses Plugin ist in https://polylang.wordpress.com/documentation ziemlich gut dokumentiert.
In der Entwicklerdokumentation wird die folgende Logik angegeben, um URLs für verschiedene Übersetzungen desselben Beitrags zu generieren
<?php while ( have_posts() ) : the_post(); ?>
<ul class='translations'><?php pll_the_languages(array('post_id' =>; $post->ID)); ?></ul>
<?php the_content(); ?>
<?php endwhile; ?>
Wenn Sie mehr Einfluss auf das gerenderte Ergebnis haben möchten, prüfen Sie die Funktion pll_the_languages
und kopieren Sie das Verhalten in Ihre eigene Ausgabeimplementierung
Wenn Sie möchten, dass die Tasten die Sprache wechseln, erhalten Sie auf dieser Seite: https://polylang.wordpress.com/documentation/frequently-asked-questions/the-language-switcher/ die erforderlichen Informationen.
Ein Implementierungsbeispiel:
<ul><?php pll_the_languages();?></ul>
Anschließend können Sie mit CSS CSS-Buttons erstellen, um Schaltflächen, Flags oder was auch immer Sie möchten, zu erstellen. Es ist auch möglich, ein Widget zu verwenden, das vom Plugin bereitgestellt wird
Alle Plugins-Funktionen werden hier erklärt: https://polylang.wordpress.com/documentation/documentation-for-developers/functions-reference/
In diesem Fall verwenden Sie:
pll_current_language();
Einfach:
if(pll_current_language() == 'en'){
//do your work here
}
Ich benutze so etwas:
<?php
$lang = get_bloginfo("language");
if ($lang == 'fr-FR') : ?>
<p>Bienvenue!</p>
<?php endif; ?>