Подтвердить что ты не робот

Как определить текущий язык страницы wordpress при использовании polylang?

Я ищу переменную, которая выводит текущий используемый язык плагина polylang. Что-то вроде:

if($curlang == "en") {
  ...
}
4b9b3361

Ответ 1

Решение было просто:

if (get_locale() == 'en_GB') {

Ответ 2

Чтобы показать текущий язык, вы можете использовать:

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

Обычный и простой

Ответ 3

  pll_current_language

Возвращает текущий язык

Использование:

pll_current_language( $value ); 
  • $ value => (необязательно) либо имя, либо локаль, либо slug, по умолчанию - slug

возвращает либо полный имя или языковой стандарт WordPress (так же, как основная функция WordPress ‘Get_locale или слаг (двухбуквенный код) текущего языка.

Ответ 4

Этот плагин довольно хорошо документирован в https://polylang.wordpress.com/documentation.

Переключение языка сообщений

Документация для разработчиков гласит следующую логику в качестве средства для создания URL для разных переводов одного и того же поста

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

Если вы хотите больше влиять на то, что визуализируется, закрепите функцию pll_the_languages и скопируйте ее поведение в свою собственную выходную реализацию

Переключение языка сайта

Если вы хотите, чтобы кнопки переключали язык, эта страница: https://polylang.wordpress.com/documentation/frequently-asked-questions/the-language-switcher/ предоставит вам необходимую информацию.

Пример реализации:

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

Затем создайте стиль с помощью CSS, чтобы создавать кнопки, флаги или что угодно. Для этого также можно использовать виджет, предоставляемый плагином te

Получение текущего языка

Все функции плагинов описаны здесь: https://polylang.wordpress.com/documentation/documentation-for-developers/functions-reference/

В этом случае используйте:

pll_current_language();

Ответ 5

Простой:

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

Ответ 6

Я использую что-то вроде этого:

<?php 

$lang = get_bloginfo("language"); 

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

   <p>Bienvenue!</p>

<?php endif; ?>

Ответ 7

<?php
                    $currentpage = $_SERVER['REQUEST_URI'];
                    $eep=explode('/',$currentpage);
                    $ln=$eep[1];
                    if (in_array("en", $eep))
                    {
                        $lan='en';
                    }
                    if (in_array("es", $eep))
                    {
                        $lan='es';
                    }
                ?>