Саша Бизиков

Руководитель отдела дизайна в ФанБоксе

Как сделать сайт WordPress мультиязычным

Данное решение подойдет только для тех, кто использует WordPress, в качестве основы сайта. Весь необходимый функционал предоставляет плагин qTranslate. Русский файл перевода уже включён в последние версии плагина qTranslate, но по неизвестным причинам, его нет в списке.

Заходим в Настройки → Языки (Settings → Languages) и вводим следующие данные:

  1. Language Code — ru
  2. Flag — ru.png
  3. Name — Русский
  4. Locale — ru_RU
  5. Date Format — d.m.y
  6. Time Format — %I:%M %p
  7. Not Available Message — Sorry, this entry is only available in %LANG:,: and %.

Нажимаем «Добавить язык». После этого можно установить языком по умолчанию «Русский».

Когда перейдем на страницу редактирования записи, то вероятнее всего увидите следующее сообщение:

The qTranslate Editor has disabled itself because it hasn’t been tested with your WordPress version yet. This is done to prevent WordPress from malfunctioning. You can reenable it by clicking here (may cause data loss! Use at own risk!). To remove this message permanently, please update qTranslate to the corresponding version.

Это сообщение оповещает нас о том, что плагин не протестирован на текущей версии WordPress. Чтобы избавиться от него, необходимо заменить в qtranslate.php:

define('QT_SUPPORTED_WP_VERSION', '3.4.2');

на

define('QT_SUPPORTED_WP_VERSION', '3.5.1');

Элементы дизайна

Бывают ситуации, когда необходимо использовать разные элементы для разных языковых версий. Например, слайдер меню, который задается в коде или разное меню.

В ситуации с меню, можно создать в Дизайн → Меню. Два разных меню и выводить их в зависимости от языка:

Регистрируем в functions.php наши меню:

if ( function_exists( 'register_nav_menu' ) ) {
 register_nav_menus(
 array('ru'=>__('RU Menu'),'en'=>__('EN Menu'),)
 );
}

После этого в админке заполните нужны пунктами и сохраните изменения. Для вывода меню, вставьте в нужном месте следующий код:

if(get_locale() == 'ru_RU') {
 wp_nav_menu(array('theme_location' => 'ru'));
} elseif(get_locale() == 'en_US') {
 wp_nav_menu(array('theme_location' => 'en'));
}

Конфликт с плагином All in One SEO Pack

Использование плагина в сочетании с All in One SEO Pack может привести к проблеме дублирования заголовков сайта. Для этого необходимо в functions.php

// Enable qTranslate for WordPress SEO
function qtranslate_filter($text) {
 return __($text);
}
add_filter('wpseo_title', 'qtranslate_filter', 10, 1);
add_filter('wpseo_metadesc', 'qtranslate_filter', 10, 1);
add_filter('wpseo_metakey', 'qtranslate_filter', 10, 1);

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

В четвёртом сезоне экспериментирую с путешествиями во время пандемии и учусь на курсе графического дизайна. Подписывайтесь на подкаст, чтобы не пропустить новые выпуски.

2 комментария

  1. Андрей

    Здравствуйте.
    Подскажите пожалуйста, как мне сделать сайт объявлений на вордпресс. Нужно чтобы можно было настроить поддомены для регионов. (чтобы присвоить в яндексе регион). Вот нашел одну доску объявлений http://moskva.biglus.com/ с регионами, подскажите какой шаблон или плагин тут используется, нужно именно, чтобы поддомены работали как в указанном сайте. Я находил плагин для создания поддоменов, но там только для категорий, тоесть из категорий создаются поддомены, а мне так не нужно.

    • Александр Бизиков

      Андрей, добрый день!

      Для расположения WordPress сайта на поддомене вида site.example.com есть два способа:
      Установить WordPress сайт на поддомене или установить на example.com мультисайт WordPress. О том как установить сайт в режиме мультисайт, можно почитать в этой статье.

      Теперь про объявления. Рекомендую использовать готовую платную тему предназначенную для создания досок объявлений. Не скачивайте ворованные темы, в них могут быть вирусы и другие неприятные вещи, которые поспособствуют взлому вашего сайта.

      Из платных тем для объявлений могу посоветовать тему Classifieds. Еще много тем можно найти на themeforest.net по ключевому слову classified

Написать комментарий

Ещё заметки

Правильный перенос сайта Вордпрес на новый домен

Рассказываю как правильно перенести сайт на WordPress на новый домен с помощью Search Replace DB.

Перенос записей в WordPress

В заметке рассмотрим как перенести большое количество записей в формате CSV на WordPress. Решение подойдёт даже для случая больше 100 000 записей.

Двухфакторная аутентификация в WordPress

Если у вас есть сайт или блог на WordPress, то его можно обезопасить от взлома. Один из таких способов повышения безопасности сайта — настройка двухфакторной аутентификации.

Что выбрать: Jekyll или WordPress?

Целый год мой блог работал на Jekyll и размещался на GitHub. Месяц назад вернулся обратно к WordPress и в заметке расскажу почему.

Как перевести тему WordPress на русский язык

В большинстве тем для WordPress присутствует папка languages, которая позволяет перевести на необходимый язык весь её интерфейс. Перевод заключается в редактировании .po-файла. В заметке рассказываю как перевести тему WordPress на русский язык.

Перенос Вордпрес на новый домен

Описываю как правильно выполнить перенос сайта на WordPress.