Как сортировать название языков в Polylang??

Ссылка скопирована
1 ответ

как в Polylang сделать первый язык EN(английский) , а второй RU?
В настройках в поле "Положение языка в переключателе" на английский ставлю значение 0 , на русский 1 , но всё равно первый язык идет русский

Дополнительно:

1 и 2 не пробовали?

Ответы:

Примерные шаги:

  1. Зайдите в административную панель WordPress.
  2. Перейдите в раздел "Языки" (Languages) и выберите вкладку "Настройки" (Settings).
  3. Убедитесь, что у вас установлен и активирован плагин Polylang.
  4. В разделе "Языки" (Languages) найдите настройку "Порядок языков" (Language order).
  5. Введите коды языков в поле "Порядок языков" в нужном вам порядке. Для английского языка используйте код "en" (или другой код, если вы использовали нестандартные языковые коды), а для русского языка - "ru".
  6. Чтобы установить английский язык (EN) в качестве первого языка, установите значение 0 в поле "Положение языка в переключателе" (Language switcher order) для языка "en".
  7. Для русского языка (RU) установите значение 1 в поле "Положение языка в переключателе" (Language switcher order) для языка "ru".
  8. Сохраните изменения.

Обратите внимание, что в Polylang есть разные версии и обновления могут привести к изменениям в интерфейсе или настройках плагина. Убедитесь, что вы используете последнюю версию Polylang и проверьте документацию и ресурсы плагина для получения актуальной информации о настройках и использовании.

Нужно решить такую задачу?

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

Заказать помощь
Лучший ответ
1
Редакция DevOps Ответ

В Polylang порядок языков обычно задается в настройках самих языков полем сортировки, но есть два частых нюанса: значения лучше ставить не 0 и 1, а 1 и 2; плюс порядок может не применяться, если переключатель языка выводится кастомным кодом или виджетом с собственными параметрами.

Проверьте по шагам:

  1. В админке откройте Языки.
  2. Для English поставьте порядок 1.
  3. Для Russian поставьте порядок 2.
  4. Сохраните оба языка.
  5. Очистите кэш сайта, если включен кэширующий плагин.

Если переключатель выводится через PHP, задайте порядок явно:

pll_the_languages([
    'dropdown' => 0,
    'show_names' => 1,
    'hide_current' => 0,
    'display_names_as' => 'slug',
]);

pll_the_languages([ 'dropdown' => 0, 'show_names' => 1, 'hide_current' => 0, 'display_names_as' => 'slug', ]);

Если тема или плагин сортирует языки сам, можно получить массив и отсортировать его вручную:

$languages = pll_the_languages([
    'raw' => 1,
    'hide_current' => 0,
]);
 
$order = ['en' => 1, 'ru' => 2];
 
uasort($languages, function ($a, $b) use ($order) {
    return ($order[$a['slug']] ?? 999)  ($order[$b['slug']] ?? 999);
});
 
foreach ($languages as $language) {
    printf(
        '<a href="%s">%s</a>',
        esc_url($language['url']),
        esc_html(strtoupper($language['slug']))
    );
}

$languages = pll_the_languages([ 'raw' =&gt; 1, 'hide_current' =&gt; 0, ]); $order = ['en' =&gt; 1, 'ru' =&gt; 2]; uasort($languages, function ($a, $b) use ($order) { return ($order[$a['slug']] ?? 999) ($order[$b['slug']] ?? 999); }); foreach ($languages as $language) { printf( '<a href="%s">%s</a>', esc_url($language['url']), esc_html(strtoupper($language['slug'])) ); }

Если после этого первым все равно идет русский, значит порядок ломает не Polylang, а место вывода: меню, виджет, Elementor-блок, кастомный шаблон или кэш. В таком случае нужно смотреть конкретный код переключателя.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно