WPML – Holen Sie sich die aktuelle Sprache in einem anderen Plugin

Lesezeit: 2 Minuten

Ich versuche, den aktuellen Sprachcode über zu erhalten ICL_LANGUAGE_CODE in meinem Plugin, aber ich kann nicht, es ist nicht definiert, das Ergebnis davon

echo "Code: ".ICL_LANGUAGE_CODE;

ist

Code: ICL_LANGUAGE_NAME

Wenn ich folgendes versuche

global $sitepress;
$current_language = $sitepress->get_current_language();
echo "Code:". $current_language ;

Ich bekomme den leeren Bildschirm.

Ich weiß nicht, auf welche Weise ich es bekommen kann.

In der Theme functions.php funktioniert alles einwandfrei. Vielen Dank.

  • wpml.org/forums/topic/icl_language_code-not-available

    – mujuonly

    16. August 2016 um 11:36 Uhr

  • Nein, es hilft nicht, ich habe auch versucht, mein Plugin und WPML-Plugin zu aktivieren/deaktivieren, die active_plugins-Liste überprüft, mein Plugin ist zuerst

    – dkruchok

    16. August 2016 um 11:59 Uhr


Sie können den WPML-Standardfilter verwenden, um die aktuelle Sprache wie folgt zu erhalten

 $my_current_lang = apply_filters( 'wpml_current_language', NULL );

Das Ergebnis enthält Ihren aktuellen Sprachcode wie: ar , en , fr … usw

Diese Konstante ist veraltet. Bitte verwenden Sie stattdessen diese https://wpml.org/wpml-hook/wpml_aktuelle_Sprache/

Die vollständige neue WPML-API ist hier aufgelistet, falls Sie weitere Fragen haben
https://wpml.org/documentation/support/wpml-coding-api/wpml-hooks-reference/

Oder Sie können jederzeit Fragen im offiziellen wpml.org-Forum stellen 🙂

Sie können den folgenden Code verwenden, um den aktuellen Sprachcode zu erhalten. Ich habe dies in einem meiner Plugins ausprobiert und es funktioniert.

if ( defined( 'ICL_LANGUAGE_CODE' ) ) {
  echo ICL_LANGUAGE_CODE;
}

/* WPML-Sprache mit Code abrufen: */

            <?php 
            $languages = icl_get_languages('skip_missing=0&orderby=code&order=DIR'); 
            foreach ($languages as $lang) { 
        ?>
        <li style = "list-style:none;">
            <a href="<?php echo $lang['url']; ?>">
                <img style="float:left; margin: 3px 5px 0 0;" src="<?php echo $lang['country_flag_url']; ?>" height="12" width="18" />
                <?php echo $lang['native_name'];  ?>
            </a>
        </li>
        <?php 
            } 
        ?>

1300700cookie-checkWPML – Holen Sie sich die aktuelle Sprache in einem anderen Plugin

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy