Перевод блога в принципе кажется простым, но это не так просто. Я не говорю о содержаниедаже шаблон может устоять.
Хотя существуют такие плагины, как Переводчик Локо и подобные, которые облегчают эту задачу, и даже шаблоны, которые поставляются готовыми для добавления перевода практически любой строки, что также можно сделать с помощью Polylang (хотя обычно он слишком короткий, и вам приходится добавление строк вручную), есть вещи, которые становятся сложными. Здесь я все еще борюсь с последней строкой, которую мне осталось перевести
Все становится еще сложнее, если Вы хотите отображать различное содержание и/или макеты в определенных частях Вашего сайта в зависимости от языка.
Этими частями обычно являются верхний и нижний колонтитулы, боковые панели и, в меньшей степени, точные места между содержанием. Для всех этих случаев есть решение.
Как для верхнего, так и для нижнего колонтитула Вы можете использовать Элементыесли Вы используете GeneratePress в его Pro-версии, и показывать разную раскладку для каждого языка, поскольку наиболее популярные плагины перевода, такие как WPML и Polylang совместимы с GeneratePress.
Это так же просто, как создать хук или блок Элементов на нужном языке, придать ему нужный дизайн, и он готов к отображению в этой языковой версии.
Таким образом, Вы можете создать практически любую часть Вашего блога с различным дизайном для каждого языка, но что если Вы также хотите показать различное и уникальное содержание или дизайн для каждого языка?
Различные боковые панели для разных языков
С Polylang создать боковую панель для каждого языка очень просто. Вам нужно только создать все переведенные виджеты для каждого языка с нужным Вам дизайном и присвоить им соответствующий язык.
Показывать различное содержимое в боковой панели с помощью условий сложно, потому что с помощью Elements мы можем добавить содержимое до и после боковой панели, но не внутри. Хотя с GeneratePress и/или GenerateBlocks вы даже можете создать новую боковую панель с нуля для каждого языка (гораздо более полное и рекомендуемое решение), но это более громоздко и требует больше работы
Быстрая, простая и не менее эффективная альтернатива - обратиться к Вставка объявлений (достаточно бесплатной версии) для создания условных виджетов боковой панели.
Вот пример того, как создать виджет, который будет отображаться только в боковой панели поста.
Виджеты с условиями
Хотя Ad Inserter предназначен для управления и размещения рекламы практически в любом месте, с чем он прекрасно справляется, его можно использовать для показа любого другого контента.
- Вы создаете новый блок в Ad Inserter и даете ему название, которое четко описывает, что это такое и где он будет отображаться.
- Добавьте содержимое для отображения, которое может быть HTML для формы, текст, изображение со ссылкой, зарегистрированный Вами шорткод и т.д.
- Он помечен "Записи" (как Вы увидите, Вы можете назначить другие места).
- Во вставке Вам следует оставить значение "Деактивировано", потому что в этом примере мы будем использовать его в качестве виджета.
- Проверьте Виджет и, если Вы хотите использовать его в других местах, Вы также можете отметить " " и "PHP function", если Вам нужно поместить его в виджетШорткод и "PHP-функция", если Вам нужно вставить ее куда-то в Ваш шаблон.
- Сохраните блок.
Когда мы вернемся в область администрирования виджетов, мы увидим, что в виджете Ad Inserter появился блок, который мы только что создали. Когда Вы добавите его в боковую панель, это содержание будет отображаться только в постах. Теперь Вы можете выбрать, например, отображать его только в английской версии.
Любое различное содержание в зависимости от языка на любом сайте
Теперь Вы можете сделать еще один шаг вперед и поиграть с местоположения с множеством возможностей и комбинаций, позволяющих разместить что угодно практически в любом месте и добиться того, чтобы это отображалось только в соответствии с языком.
Если мы выберем место, которое позволяет нам Ad Inserter, а затем нажмем"Списки", мы сможем разместить этот контент во множестве точек с возможностью добавления белых и черных списков, условий и исключений по желанию.
В примере я настроил, чтобы это содержание отображалось поверх всех постов, но только в английской версии
Отсюда Вы можете точно настроить вставку, чтобы она появлялась до или после параграфа x, до, между или в конце контента и т.д., а также поиграть с такими опциями, как исключение ссылок, ID, категорий, тегов или вставка только в определенную таксономию, даже в соответствии с языком браузера посетителя с помощью простого шорткода. Комбинации и позиции практически не ограничены
Чтобы узнать больше о размещении и использовании списков, см документация от Ad Inserter.