Мультиязычный сайт на WordPress. Плагин Polylang. Часть вторая. Настройка записей

Артем Абрамович

Меня зовут Артем Абрамович и я являюсь фрилансером-вордпресером. Занимаюсь настройкой и редактированием сайтов созданных на CMS WordPress. Это основная моя специализация, есть еще несколько работ, которыми я занимаюсь, но обо этом вы можете более подробно узнать из моего портфолио.

66 комментариев к “Мультиязычный сайт на WordPress. Плагин Polylang. Часть вторая. Настройка записей”

  1. Здравствуйте, столкнулась с тем, что фотографии  нужно загружать в каждый язык,  Если три языка, получается тройной сайт, при огромном количестве фотографий это очень неудобно. Подскажите, пожалуйста, есть ли переводчик -плагин автоматический для фотографий. С ув. Наталья.

    Ответить
    • Приветствую! А зачем фотографии несколько раз загружать? Вы же фотки загружаете в Библиотеку мультимедиа и ничего не мешает использовать одну и ту же фотку в разных записях или страницах на разных языках. Это если все правильно понял

      Ответить
    • Здравствуйте, я тоже думала, что так все просто, но когда четыре языка, то каждая статья пишется отдельно и в каждую статью нужно загрузить много фотографий из библиотеки, которые тоже сопровождаются надписями на разных языках. Получаются отдельные сами по себе произведения. Пользователь сайта для которого я его сделала, не довольна и просит другой плагин.

      Ответить
    • +Наталья Васильева Хм, тогда даже не знаю, чтобы плагин записи на картинках переводил — я о таком даже не слышал. И скорее всего такого и нет в природе. Все только вручную, к сожалению

      Ответить
    • +Наталья Васильева Скорее всего только так и придется делать. Любой другой плагин по тому же принципу работает дублирования контента. Есть еще платный подобный плагин http://wpml.org/ или делать копии WP в разных папках, абсолютно независимых

      Ответить
    • +Наталья Васильева не знаю насколько для вас это еще актуально, нашел простой способ.
      В записи нажимаете «Добавить медиафайл» -> «Вставить с сайта» (слева) -> Вставляете ссылку на ваше изображение, загруженное ранее и уже опубликованное для другого языка. К примеру пост уже есть на русском, с загруженной картинкой и вы создаете на английском.

      Ответить
  2. Здравствуйте, очень понятное видео. Спасибо!
    У меня плагин не реагирует на пользовательский тип записей — типа как у вас Accomodations или Tours. Он там вообще не появляется. Соответственно не могу использовать мультиязычность. А в стандартных Записях и Страницах — работает. Понятно,что дело в теме . Как мне это можно исправить?

    Ответить
    • +MIRALIS Добрый день! Рад, что видео понравилось.
      Не факт, что проблема в шаблоне, вы в настройках синхронизацию для пользовательских типов устанавливали http://snap.ashampoo.com/uV9ONeKK

      Ответить
  3. У меня еще вопрос: нужен ли Codestyling Localization дополнительно?
    После моих попыток подобрать подходящий плагин , т.е. я пробовала и Polylang, и параллельно Codestyling Localization , после их удаления попробовала Multilanguage, и в конце мой сайт на Денвере стал выдавать ошибку  Maximum function nesting level of ‘100’ reached, aborting! — т.е. где-то зациклился перевод.  создала параллельно новый сайт — с  нуля там же на Денвере — попыталась установитьть платный плагин sitepress-multilingual-cms.3.1.5 (рекомендованный создателем темы!!!) с паблика — активизировать его не удалось, удалила. опять установила polylang (очень понравился!) Пока не устанавливала Демо данные — все работало, как только импортировало демо — опять сайт не работает — указывает ту же ошибку Maximum function nesting level of ‘100’ reached, aborting!  на строку   «return translate( $text, $domain );» Может ли быть дело в теме, чтобы автор специально все настроил под платный плагин, и другие не смогут работать? Просто ваше мнение ))). Или вся загвоздка в Денвере — у него не хватает функционала для обработки большого объема контента  —  уже не могу понять — от чего отказаться : от темы или от плагина, или от Денвера? Так что SOS!)))

    Ответить
    • +MIRALIS Добрый день! 
      Так на первый прикид к носу))) это не шаблон и не плагин, скорее всего у вас Денвер тупит. 
      Но может быть и еще один момент — Полиланг просто не может сразу обработать слишком большое количество страниц. Попробуйте наоборот делать, сначала демо контент загружать а у же потом — Полиланг подключать. Есть там такие узкие места, связанные с обработкой большого количества контента

      Ответить
    • +WPRUSe И вам добрый!
      Скорее всего вы правы в отношении большого количества контента! Перезаписала новый Денвер, перенесла сайт и Бд на новый хост. Теперь боюсь что-то испортить, как говорится — дую на воду ))). Пока все работает, настраиваю Polylang. Сайт туристический , картинок и текста очень много — все дублировать еще и на 3 языка  нереально.
       В теме есть такие пункты:  «+» — я включила синхронизацию, а другие — не знаю. Посоветуйте.
      (Извините за настойчивость)))

      Таксономия +
      Пользовательские поля +
      Статус комментария
      Статус отклика
      Прилепленные записи
      Дата опубликования
      Формат записи
      Родительская страница
      Шаблон страницы
      Порядок страниц
      Выбранный рисунок

      Ответить
    • +MIRALIS Это все зависит от вашего шаблона, что-то используется что-то нет:
      Статус комментария — когда комент на модерацию уходит можно сделать на нескольких языках сообщения

      Статус отклика — это я не поймню что-такое, вспомню напишу

      Прилепленные записи — проще говоря, это записи которые всегда будут первыми 
      выводиться независимо от даты, если не используете такие записи, то и не нужно вам

      Дата опубликования — Дата опубликования статьи на нескольких языках

      Формат записи — это такая вещь… когда используются несколько разные записи в шаблоне, например запись с видео, запись с аудио и тд, как правило на простых сайтах такой функционал не используют

      Родительская страница — страницы, которые могут быть как бы вложенными одна в другую, соответственна для каждой такой страницы будет своя родительская

      Шаблон страницы — это специальные файлы для вывода страниц с определенным дизайном, например есть страница с сайдбаром и без, в премиум-шаблонах такое часто используется

      Порядок страниц — в каком порядке будут выводиться страницы, зачем только этот порядок переводить не знаю

      Выбранный рисунок — вот тут даже не подозреваю что это за штука, думаю что бы в разных языках можно было с одним и тем же контентом выводить разные картинки

      Ответить
    • +WPRUSe
      Спасибо за развернутый ответ и за ТЕРПЕНИЕ!  Пока все это не включаю — потестирую без них.

      Ответить
    • +MIRALIS Без проблем, всегда рад помочь. Если что, пишите вот здесь wpruse.ru — это сайт поддержки канала или тут artabr.ru — это мой отдельный блог

      Ответить
  4. Подскажите как в шаблоне выводить меню? ведь получается что создаются два разных меню (у меня это topmenu_ru, topmenu_en, topmenu_uk), я пробовал даже так:

    ‘topmenu_’.pll_current_language(‘slug’), ‘menu_class’ => ‘top_menu’)); ?>

    но для укр версии выводятся пункты не в той последовательности которую я создал в меню topmenu_uk

    Ответить
    • +Vyacheslav Dokin Добрый день! Все правильно, должны быть два разных меню. При переключении должно отображаться только одно какое-то. Но эти меню выводятся одной и той же функцией, вы ее не совсем правильно написали.
      Параметр theme_location — «Идентификатор расположение меню в шаблоне. Идентификатор, указывается при регистрации меню функцией register_nav_menu().» И к нему не надо ничего прислюнивать. Проверяйте регистрацию вашего меню функцией register_nav_menu, место регистрации меню должно корреспондироваться с выводом меню. Например, сначала регистрируем меню
      function theme_register_nav_menu() {
      register_nav_menu( ‘primary’, ‘Primary Menu’ );
      }
      add_action( ‘after_setup_theme’, ‘theme_register_nav_menu’ );

      А потом его выводим 
      ‘top_menu’, ‘theme_location’ => ‘primary’ ) ); ?>

      Да, еще в меню для разных языков должны быть разные страницы, например есть меню topmenu_ru, topmenu_en, topmenu_uk соответственно в меню topmenu_ru должны быть только русские страницы, в topmenu_en — только английские и тд
      Ну и ссылка на документацию https://polylang.wordpress.com/documentation/setting-up-a-wordpress-multilingual-site-with-polylang/navigations-menus/

      Ответить
  5. Здравствуйте! Спасибо за туториал, все сделал, как на вашем видео, но у меня одна проблема пока только возникла.

    Плагин установлен, меню на добавленном языке отображается корректно, статьи переведены пока только в одной рубрике. Когда переключаюсь с языка по умолчанию на новый язык — все прекрасно переходит на эту самую переведенную рубрику, однако если по ней (рубрике на добавленном языке) еще раз кликнуть, то страница не просто обновляется (на добавленном языке), а перекидывается на эту же статью, но на языке по умолчанию. Не могу разобраться почему. Что бы Вы посоветовали? Благодарю.

    Ответить
    • +Арсен Малащук Ютуб чего то дурит конкретно, не приходят сообщения о комментариях, так что прошу прощения за долгий ответ.
      А если не кликать по ссылке на рубрику, а просто страницу обновить, что происходит?

      Ответить
    • Спасибо за ответ, я уже все настроил, проблемы не было, только моя невнимательность)

      Ответить
    • +Арсен Малащук А чем было невнимательность. если не секрет?

      Ответить
  6. Доброго времени суток! У меня такая проблемка. По умолчанию стоит English. При добавлении записи в админке появляется ссылка с названием заголовка статьи, публикую её. После этого перехожу на + (перевод на Русский), прописываю в ссылке статьи такое же название как и в английской версии, вот только принажатии на ОК ссылка становится ( ../название статьи-цифра). Как сделать так, чтобы в ней не добавлялись цифры, а ссылка оставалась такой же как и в английской версии??? Зарание спасибо!

    Ответить
    • +Oleg Slobodianik
      Добрый вечер! . Потому у вас и появляется цифра, что ВП сам контролирует чтобы урл не дублировались, иначе ничего работать не будет. Не получиться так сделать, формально вы просто две разных страницы создаете, а раз страницы разные значит и урлы должны быть разными. Тут если только на разных поддоменах делать или например для русского варианта использовать транскрипцию. И это будет более правильный вариант, потому что контент на этих страницах все равно по смыслу будет хоть не много но отличаться…

      Ответить
    • +WPRUSe Эту функцию добавляем в functions.php и ссылки для записей будут одинаковы (без добавления цифр)

      Ответить
    • +Oleg Slobodianik Хм, ну как вариант… Добавлю вашу находку в статью, может кому пригодится…

      Ответить
  7. здравствуйте мне помогал ваша видео огромное спасибо, у меня сайт, русский и персидский, на персидским языке не получается настраивать, помогите пожалуйста!

    Ответить
    • +sea silver
      Добрый день! А плагин Полиланг вообще поддерживает персидский язык? Есть данный язык в настройках?

      Ответить
    • +WPRUSe Да правильно, персидский язык есть в настройке, но когда выбираю направление «справа-налево» тексты и фотографии все перемешивается!

      Ответить
    • +sea silver
      Скорее всего у вас тему надо настраивать, чтобы была поддержка «справа-налево» иначе да, будет все ломаться….

      Ответить
  8. Здравствуйте у меня такой вопрос… как поставить на мультиязычный сайт форумы, то есть на каждый язык свой форум или один плагин который будет показываться в разных языкаx на текущим языке… что вы посоветуйте и как это сделать?!…

    Ответить
    • Добрый день! С форумом сложно, если какие-нить связки использовать, типа WPML+ bbpress. Тяжелая вещь конечно или просто машинный перевод делать.

      Ответить
    • Перевести нет проблем, будет ли это работать и как сделать так чтобы у каждого языка был свой форум это один плагин для всех или для каждого языка отдельный плагин?!

      Ответить
    • Это скорее лучше будет мультисайт делать для каждого языка, надежнее. И на поддоменах, а не папках

      Ответить
  9. Вроде бы все, что показано на видео сделать получилось, спасибо!

    Но у меня такая проблема:
    Страницы в админ панели не видны и не редактируются. Я скачал шаблон WordPress, в котором все страницы — шаблоны страниц. Например, страница регистрации, страница публикации и вообще почти все. Чтобы редактировать тексты, приходится лезть в php коды и оттуда редактировать.

    Теперь вопрос — Как сделать перевод таких страниц? Как переводить страницы, содержание которых не видно в консоле и созданы на основе шаблонов страниц?

    Заранее спасибо! Надеюсь, что поможете!

    Ответить
    • Добрый день! Если перевод не подхватывается, то придется добавлять нужные данные. Для этого у Полиланга есть нужный функционал: функции pll__ https://polylang.pro/doc/function-reference/

      Ответить
  10. У меня тут проблема. После установки плагина поле настроек немного отличается от того что на видео. Нету поля языка по умолчанию. Вот такой вид настроек http://joxi.ru/Vm666eRuxwjEvm В коком бы порядки не ставил галочки сайт все равно не работает как надо, а именнно вся инфа с главной пропадает и вместо нее NEWS & EVENTS
    No result has been found. Please check for correctness.. Что это баг какой то в плагине или я что то не досмотрел?

    Ответить
    • Скорее всего надо постоянные ссылки обновить. Это раз. И два, проверьте настройки самих языков, может у вас просто язык второй не настроен и плагин не знает из чего выбрать

      Ответить
  11. А в подвале и в футере тоже можно менять язык?
    Самому УРЛ можно менять для другого языка?

    Ответить
    • Футер и подвал — это одно и тоже)
      Можно. Не совсем понял вопрос, что значит урл менять? Переключатель поставить?

      Ответить
    • Всё разобрался, там виджиты надо просто дублировать.
      А урл менять, я имел ввиду для двух языков чтобы были разные без добавления /uk/
      И еще, в принципе не критично, т.к. только на главной Украинский язык показывает — uk а ведь надо ua

      Ответить
  12. Интересный плагин, спасибо за детальность. У меня вопрос, можно сделать
    одну общую страницу на оба языка? не могу придумать решение. Не получается настроить блог, стоит криво и не работает как раньше

    Ответить
    • Можно, только придется кодить и раздельно контент выводить по условию: такой-то язык, то-то выводим и тд

      Ответить
    • если кодить, то это уже сложности, которые я не понимаю. Видимо только дублирование страниц и никак иначе :(. С блогом разбираюсь, вроде выравнивается. Благодарю за видео и ответ. Плагин действительно сайт поднимает на другой уровень.

      Ответить
  13. Подскажите пожалуйста как сделать мультиязычным подвал ?

    Ответить
    • Смотря как подвал сделат и как там выводятся данные, если виджетами, то можно попробовать через строки перевода

      Ответить
  14. А плагин позволяет переводить только записи не затрагивая меню и другие элементы. К примеру есть запись и сообщение, что вы можете ознакомиться с данным материалом на английском языке. Ну или же просто кнопки-переключатели

    Ответить
    • Позволяет, просто это сделать просто так сложнее, ну и многое от темы зависит

      Ответить
  15. А что делать если сначала стоял тип ссылок «простой», а когда поменяла на «название записи», то все летит на ошибку 404 и обновляю ссылки или не обновляю, ничего не меняется(( только при возврате на тип ссылок простой, все опять работает?

    Ответить
    • так быть не должно, сложно сказать, но похоже что постоянные ссылки не обновляются… Что-то не срабатывает. Попробуйте удалить плагин, сменить ссылки и по новой установить

      Ответить
    • А какой плагин удалить, Polylang? А все мои переводы и связи в страницах не полетят?

      Ответить
    • Именно его. Ну тогда не удаляйте а выключите просто. Хотя может и слететь, лучше предварительно забекапиться

      Ответить
  16. Хорошее видео, а как виджеты подвала что бы переключались ?

    Ответить
  17. Плагин нравиться, пользуюсь, но не могу решить проблемку. После установки плагина polylend не работает плагины нумирации страниц, что можете посоветовать? Уже несколько пробовала, не ставяться. Буду рада подсказке.

    Ответить
    • Ничего не могу. Обычно эти функции не пересекаются, видимо какой-то конфликт

      Ответить
  18. Добрый день. А как переводить то, что не поддалось переводу. В вашем случае в комментарии к записи? Дело в том, что у меня весь комментарий остается на английском языке. Как-то не очень….

    Ответить
    • Добрый! В новой версии никак, только используя платный аддон

      Ответить

Добавить комментарий

%d такие блоггеры, как: