Условия для плагина polylang для определения текущего языка

В одном из проектов нужно было встроить к шаблон функционал, который должен меняться в зависимости от языка.

Для указания языка документа можно использовать такой вариант при включенном плагине Polylang:

<html lang="<?php echo pll_current_language('slug'); ?>">

Но лучше использовать универсальный вариант без привязки к Polylang:

<html <?php language_attributes(); ?>>

Слайдеры и тексты редактировались через произвольные поля, поэтому с ними проблем не было.

Но были некоторые части кода, которые должны были меняться для разных языковых версий.

Благодаря хорошей документации на сайте разработчика, было создано такое решение:

<?php
  $my_lang = pll_current_language(); // определяем текущий язык
 
  if ( $my_lang == 'ru' ) {
    echo crea_show_option('address_ru'); // если язык русский, тогда выводим поле с адресом на русском
  }
  elseif ( $my_lang == 'pl' ) {
    echo crea_show_option('address_pl'); // если язык польский, тогда выводим поле с адресом на польском
  }
  else {
    echo "Oleksandra Polya Avenue, 117"; // если ни один из вариантов не подходит, то выводим по умолчанию английский
  }
?>

Как сделать раскрывающееся меню категорий товаров Woocommerce в виджете сайдбара по клику

Чтобы было понятно, этот скрипт пишется для этого виджета: Скрипт будет написан для такой структуры…

Как сделать открытие картинок из слайдера RoyalSlider для WP в pop-up

Для того, чтобы можно было открывать картинки из слайдера Royal Slider в popup нужно: 1….

Специальные теги для плагина Contact Form 7

Иногда нужно получить больше информации из отправленной формы, не только те данные, которые заполнил пользователь,…

Что нового в WordPress 4.4

Несколько дней назад состоялся релиз WordPress 4.4 «Clifford», названный в честь американского музыканта Клиффорда Брауна….

5 комментариев

Костя

Если языка всего два, то можно использовать просто if ($my_lang == ‘ru’) { …; } else { …; }

Все верно, пример кода в статье упрощен и взят с сайта с несколькими языками.
Лучше всего заканчивать кодом с английским вариантом, который должен быть на сайте по умолчанию

else { …; }
Алексей

А как реализовать условие в js ?

Вывести нужные данные на фронт, и через JS получить их или обработать.

Спасибо! Выручил)

Ответить