Наш список платных подрядчиков растет, и мы решили отсортировать его по языкам. Это означает, что Вы сможете найти подрядчиков, которые смогут помочь Вам на Вашем родном языке. Оказалось, что произвольные типы записей стали идеальным решением для этого. Читайте дальше, чтобы узнать почему.
Страница наших подрядчиков содержит несколько вступительных предложений, список подрядчиков и несколько заключительных предложений.

Мы хотим сохранить ту же структуру для страниц подрядчиков, но с подрядчиками, говорящими на каждом из языков. Например, вот страница на японском языке:

Она построена так же, но с другим контентом.
Один из способов создания таких страниц — использование обычных страниц WordPress. Именно так у нас и было до вчерашнего дня. Когда список подрядчиков только появился, в нем было всего два человека, поэтому управлять им как обычной страницей было легко.
Сегодня эта страница включает 8 подрядчиков и доступна на 5 языках, поэтому ее поддержка в виде страниц становится серьезной головной болью. Поскольку мы хотим, чтобы каждая из переведенных страниц подрядчиков включала только определенных подрядчиков (говорящих на этом языке), мы не можем просто отправить английскую страницу на перевод. Если бы мы использовали обычные страницы WordPress, нам пришлось бы объяснять нашим переводчикам, каких подрядчиков включать для каждого языка. Это требует много общения и ручной работы.
Использование произвольных типов записей и полей для создания списка
Итак, мы перешли от обычных страниц к произвольным типам записей и полям. Для настройки новых произвольных типов мы использовали наш плагин Types.
Сначала мы создали новый тип записи «contractors». Затем мы добавили поля для изображения, URL-адреса веб-сайта, портфолио и контактов. Вот как выглядит страница подрядчика в нашей админ-панели WordPress:

Разве это не здорово?
У нас есть отдельное поле для каждой части информации. Когда мы добавляем новых подрядчиков, мы не беспокоимся о том, как это будет отображаться на сайте. Все, что нам нужно сделать, — это заполнить поля. Шаблон правильно отобразит эту информацию вместе с остальными подрядчиками.
Посмотрите на правую часть страницы, где находятся элементы управления переводом. Вы сразу заметите, что страница Маны (Mana) доступна также на японском языке. Это то огромное преимущество, которое мы искали. Когда контент разбит на небольшие элементы, мы можем легко переводить различные записи на разные языки.
Отображение списков подрядчиков для каждого языка
Теперь, когда у нас есть записи подрядчиков для каждого языка, нам нужно их отобразить.
Если Вы предпочитаете писать код на PHP, Вы можете использовать PHP API Types. Когда я начал менять страницу подрядчиков, было уже 22:00, и я хотел закончить все до наступления следующего дня (и до того, как жена рассердится на меня за сидение за компьютером). Я использовал наш плагин Views для создания списка подрядчиков, закончил работу около 23:00, и у меня еще оставался свободный час до «отбоя» :-)
Новая страница подрядчиков использует шаблон для отображения каждой записи. Шаблон выглядит так:

Я создал его с помощью View Template прямо из админ-панели WordPress. View Template позволяет мне вставлять поля через графический интерфейс и стилизовать их с помощью HTML и CSS. Это похоже на написание стандартной страницы, только с шорткодами полей вместо статического текста.
Затем я создал View, чтобы загрузить список подрядчиков и отобразить его. Когда Вы создаете View, Вы указываете ему, какой тип контента загружать, как его фильтровать (в нашем случае фильтрация не требуется) и как отображать. Мы уже создали шаблон для одного подрядчика, поэтому View просто нужно использовать этот шаблон на странице списка.
Вот страница подрядчиков, показывающая статический контент над и под списком, а также шорткод View, который отображает сам список подрядчиков.
Отображение нужного контента для каждого языка
Когда Вы используете Views для отображения контента на многоязычных сайтах, выбор языка происходит автоматически. Это означает, что если Вы вставите View со списком на английскую страницу, Вы получите записи подрядчиков на английском языке. Если Вы вставите его на японскую страницу, Вы получите только те записи, которые переведены на японский.
Теперь, чтобы определенные подрядчики появились на других языках, нам нужно только перевести их записи. View загрузит нужные записи из базы данных и отобразит их на странице.
Итоги
Я начал эту статью с того, как упростить управление контентом с помощью произвольных типов записей, а затем она превратилась в мини-руководство по нашему плагину Views.
Важно усвоить, что для любой страницы со списком лучше всего использовать произвольные типы записей.
Если Вы любите писать код, Вы можете использовать API тем WordPress для создания собственных шаблонов для Вашего контента. Мы тоже любим писать код, но я немного ограничен во времени, поэтому использую наш плагин Views. Отдельно плагин Views стоит 95 $, или Вы можете приобрести его в составе нашего пакета Toolset за 149 $.
Что Вы думаете? Как Вы создаете страницы со списками?



