Один из наших клиентов - это сайт бюро-переводов English Geeks. Изначально на сайте было немного страниц и добавление новой информации, поддержка существующей не была большой проблемой для клиента, но с появлением новых страниц и развитием сайта это становилось все проблематичнее. Конечно, можно парсить сайт для поиска конкретной информации, кстати, о парсинге сайта мы рассказывали в другой статье. Но в данном случае, правильнее будет автоматизировать процесс, т.к. в долгосрочной перспективе это сэкономит клиенту время и деньги.
Данный материал не является туториалом по созданию функционала, а демонстрирует один из вариантов автоматизации работы сайта под конкретные потребности бизнеса.
Навигация по материалу:
Добавление отдельного типа записи. WordPress по-умолчанию предоставляет сразу два типа записи - страницы (page) и записи (post). Изначально этого сайту хватало, в процессе масштабирования клиент понял, что такого функционала ему не достаточно. Оптимальным решением будет завести собственный тип записи - документ (document) почитать о собственном типе записи можно в официальной документации, тип записи страница решили оставить только для статичной информации, например, для страницы контактов. Тип запись продолжать использовать для статей в блоге.
Общая страница с базовой информацией. Для расчета стоимости на перевод используются одинаковые параметры: ставка за слово, стоимость нотариального заверения и другие неизменяющиеся от документа к документу параметры. Поэтому, будет правильно разместить информацию такого типа в одном месте.
Использование шорткодов. Учли, что упоминание цен, расчеты стоимости могут встречаться не только на самих документах, но и, например, на страницах блога. Для таких ситуаций было принято решение использовать шорткоды.
Для реализации задуманного функционала нам нужны были собственные поля: поля со статичной информацией, которые будут находиться на отдельной вкладке в админке сайта, поля для документа.
У WordPress по-умолчанию нет возможности создавать дополнительные поля, разумеется, это можно сделать собственным кодом, но в данном случае рациональным решением будет внедрить сторонний функционал. Поэтому мы воспользовались одним из популярных плагинов - Carbon Fields (CF). Выбор пал на него по нескольким причинам:
Как и планировалось, мы реализовали создание собственного типа записи - документ (document). Разделение позволило отделить страницы от документов и сделать последние более гибкими, также избавили “page” от ненужных полей и сделали работу с сайтом понятнее.
Для нового типа записей через CF мы добавили необходимые поля.
У гибкого и шаблонного есть одинаковые поля, например, “название документа”, но основная часть состоит из различий, как в полях, так и в дальнейшей “подкапотной” логике. Вот несколько фундаментальных отличий:
Создав и настроив тип "document" мы перешли к созданию страницы с общими настройками для всего сайта на CF, как создается такая страница можно почитать в документации.
Используя CF мы добавили отдельную вкладку в админку, в которой будет храниться вся информация актуальная для всего сайта: ставка на перевод, стоимость нотариального заверения и другие поля. Отметим, что стараемся делать функционал максимально удобным для наших клиентов, поэтому для всех полей сделаны пояснения и работа с ними не вызывает сложностей и не требует дополнительных навыков у клиента.
В шаблоне вывода, созданного нами типа "document" мы получаем значения со страницы основных настроек (Настройки English Geeks), и из каждого документа. В зависимости от того, шаблонный тариф или гибкий мы выводим информацию на страницу.
Административная панель документа с шаблонным тарифом
Отображение документа с шаблонным тарифом
Административная панель документа с гибким тарифом
Отображение документа с гибким тарифом
Чтобы выводить актуальную информацию на всем сайте, без использования CF мы воспользовались встроенным в WP функционалом - шорткодами.
Для наглядности рассмотрим несколько примеров:
Использование шорткода в стоимости подбора устных переводчиков.
Отображение стоимости устного перевода в админке
Отображение стоимости устного перевода на странице
Использование шорткода в цитате одного из сотрудников.
Отображение шорткода в административной панели
Отображение шорткода на странице
Вероятно, вы могли заметить, что выше мы не показали вариант отображения тарифа "ручной ввод". Через какое-то время с ручным тарифом возникла сложность. К нему относились: документы для регистрации продавца на Amazon, каталоги, медицинские документы, научные тексты и другие. Как видно из списка все эти документы являются группами, а не одиночными документами.
Немного подумав, мы пришли к выводу, что заносить их в качестве отдельной страницы документа не совсем верный подход и решили переделать такие документы в таксономию: “группа документов”. У такого решения основной причиной является автоматизация. До появления такой таксономии клиенту приходилось руками добавлять в каждую группу документ, который к ней относится, это занимало время и был риск забыть внести новый документ в нужную группу. Сейчас все происходит автоматически.
Выбор группы документов в административной панели
Отображение документа в списке выбранной группы
Отметим особенность дизайна админки WP. Кастомные поля, которые мы создали для группы документов (таксономии) в CF выглядят не совсем красиво, но со своей задачей полностью справляются.
Настройка открытой таксономии
Настройка таксономии в общем списке таксономий
Рассмотрели один из примеров автоматизации работы с сайтом для бюро переводов. Как сообщил клиент, стоимость разработки оправдалась. Ведь только за 2023 год ставка за слово изменилась 3 раза и если бы не возможность быстро тариф в одном месте, то приходилось бы каждый раз парсить сайт, и руками править везде информацию.
Если столкнулись с тем, что ваш сайт “вырос” и поддерживать на нем актуальную информацию стало сложно, то напишите нам, мы изучим особенности вашего бизнеса, предложим оптимальное решение и внедрим его с учетом ваших пожеланий и требований.