web-dev-qa-db-fra.com

Comment déterminer la langue actuelle d'une page wordpress lors de l'utilisation de polylang?

Je recherche une variable qui affiche le langage actuellement utilisé du plugin polylang. Quelque chose comme: 

if($curlang == "en") {
  ...
}
15
Felix TheCat

La solution était simplement: 

if (get_locale() == 'en_GB') {
35
Felix TheCat

Pour afficher la langue actuelle, vous pouvez utiliser: 

 <?php echo $lang=get_bloginfo("language"); ?>

Clair et simple

13
Ingratus

pll_current_language

Renvoie la langue actuelle 

Usage:

pll_current_language( $value ); 
  • $ value => (facultatif) name ou locale ou slug, par défaut slug 

retourne soit le plein nom ou les paramètres régionaux WordPress (tout comme la fonction principale de WordPress ‘get_locale’ ou le slug (code à 2 lettres) de la langue actuelle.

10
Shoaib Bazmi

Ce plugin est documenté plutôt bien dans https://polylang.wordpress.com/documentation .

Changer de langue

La documentation destinée aux développeurs indique la logique suivante comme moyen de générer des URL pour différentes traductions du même message.

<?php while ( have_posts() ) : the_post(); ?>
<ul class='translations'><?php pll_the_languages(array('post_id' =>; $post->ID)); ?></ul>
<?php the_content(); ?>
<?php endwhile; ?>

Si vous voulez plus d'influence sur ce qui est rendu, inspirez la fonction pll_the_languages et copiez son comportement dans votre propre implémentation de sortie

Changement de langue du site

Comme vous voulez que les boutons changent de langue, cette page: https://polylang.wordpress.com/documentation/frequently-asked-questions/the-language-switcher/ vous donnera les informations requises.

Un exemple d'implémentation:

<ul><?php pll_the_languages();?></ul>

Puis stylisez avec CSS pour créer des boutons, des drapeaux ou tout ce que vous voulez ..__ Il est également possible d’utiliser un widget pour cela, fourni par le plugin

Obtenir la langue actuelle

Toutes les fonctions des plugins sont expliquées ici: https://polylang.wordpress.com/documentation/documentation-for-developers/functions-reference/

Dans ce cas, utilisez:

pll_current_language();
8
mvbrakel

Simple:

if(pll_current_language() == 'en'){
   //do your work here
}
1

J'utilise quelque chose comme ça:

<?php 

$lang = get_bloginfo("language"); 

if ($lang == 'fr-FR') : ?>

   <p>Bienvenue!</p>

<?php endif; ?>
0
Diana