Установка и настройка плагинов
Вам потребуется два плагина: Travelpayouts и WP All Import.Плагин Travelpayouts
С его помощью вы сможете через интерфейс редактирования WordPress вставлять следующие инструменты:- формы поиска авиабилетов и отелей;
- виджеты отелей;
- настраиваемые таблицы с полезной информацией об отелях и перелетах: календарь низких цен, выгодные направления из конкретного города, популярные направления авиакомпаний и многое другое;
- карту авиаперелётов;
Плагин WP All Import
Плагин помогает парой кликов загрузить большой объём данных из файла формата XLS или CSV в соответствующие поля в блоге на WordPress. Плагин работает с любой темой WP и взаимодействует с другими плагинами. WP All Import распознаёт поля, которые вы создали в WordPress или плагинах для WP, поэтому можно заливать любые данные, в том числе ключевые слова, title, description, фотографии и к ним заголовки, подписи, описания и так далее. С помощью WP All Import можно создавать новые страницы, добавлять информацию на старые и автоматически обновлять страницы с заданной частотой. После установки плагина WP All Import настраивать ничего не нужно. Самая недорогая версия плагина WP All Import стоит $99. Вы можете попробовать поработать с WP All Import неделю бесплатно, создав демо-сайт. Скачать плагин WP All Import →Подготовка файла для импорта
В примере мы покажем как подготовить к импорту файл с IATA-кодами городов (со склонениями по падежам).- Скачайте базу с IATA-кодами городов (со склонениями по падежам).
- Конвертируйте файл в формат xls, xlsx или csv. Можно сделать это при помощи онлайн-конвертора.
- После конвертации файл можно отредактировать.
- Переименуйте первый столбец в iata.
- Уберите вертикальный слеш и лишние подчеркивания в названиях столбцов с падежами.
- Уберите пустые строки из файла.
- Заполните те строчки, где iata есть, а названия города на русском в падежах нет, в файле их не много.

Как создать страницы с поисками авиабилетов в разные города
В примере мы создадим множество страниц с заголовками вида «Дешёвые билеты в N». Посмотрите видео, где подробно показан процесс импорта данных при помощи плагина All Import, а далее мы расскажем подробнее о каждом шаге и настройках.Шаг 1: загрузить файл для импорта
В левом сайдбаре в меню плагина All Import выбрать New import. В открывшемся окне нажать Upload a file и загрузить подготовленный файл. Когда файл загрузится, выберите пункт «Страницы».
Шаг 2: выбрать элемент для импорта
Выберите строчку <node> в левом сайдбаре. Появится надпись «Each <node> element will be imported into a New Страница», что переводится как «Каждый элемент <node> будет импортирован на новую страницу». В элементах <node> содержатся все данные по каждому городу.
Шаг 3: сделать шаблон страниц
На третьем шаге появятся два поля: основное поле — страница, которая будет сделана на основе данных из файла, в правом сайдбаре — данные из файла, . Элементы вида <iata>, <name> и так далее — это названия столбцов. Между тегами — содержание строк в импортируемом файле.

Создайте форму поиска
Для этого вставьте его в зону контента будущей страницы шорткод пустой формы поиска.[tp_search_shortcodes slug="1crt2j0f" origin="" destination="" type="avia" subid=""]
[tp_search_shortcodes slug="1crt2j0f" origin="" destination="{iata[1]}" type="avia" subid=""]

Добавьте карту отелей
- Создайте frame отельной карты во вкладке «Инструменты» в аккаунте Travelpayouts.
- Скопируйте код в поле контента.
- Найдите в коде карты строку с параметрами широты и долготы, которая выглядит так lat=55.7558&lng=37.61760000000004. Замените на city_iata=.
- Перетащите из правой колонки элемент <iata> и расположите после знака «=» . Получаем city_iata={iata[1]}.

Как создать шаблон страниц, используя плагин Visual Composer
- Сделайте макет страницы в плагине Visual Composer.
- Скопируйте получившийся код и вставьте его в поле контента в плагине WP All Import.
- Поставьте обратный слеш перед каждым шорткодом, который используется в Visual Composer.
- Если настраивали стили для ряда или колонок, то обратный слеш надо поставить и перед фигурными скобками, в которые заключен стиль css для этого ряда или колонок, иначе стиль не применится.

Дополнительные настройки страницы в плагине WP All Import
- Images — импорт картинок. В нашем примере картинок нет, вы можете почитать подробнее об импорте в справке плагина.
- Custom Fields — произвольные поля. Могут пригодиться для последующей настройки фильтра или поиска по городам. В первом поле Name напишите название: «city». В поле Value укажите значение: для этого перетащите в него элемент из правого сайдбара.

- Other Страница Options. Выберите в меню Post Status пункт Published (страница будет опубликована) или Draft (черновик).
- Post Dates. Оставьте Now, чтобы опубликовать страницу сразу или выберите любую дату.
- Comments. Выберите Closed, чтобы закрыть комментарии, или Open, чтобы открыть.
- Trackbacks and Pingbacks — оповещения для блогов, что вы упомянули их на странице. Если упоминаний нет или вы не хотите оповещать, выберите Closed.
- Post Slug. Перетащите сюда из правого сайдбара элементы <iata> и <name>. Элемент <name> можно не перетаскивать, тогда ссылка на страницу будет такой же как заголовок в title. Чтобы ссылка автоматически транслитерировалась в латиницу, установите плагин SP RTL (RusToLat) или подобный.
- Post Author. Укажите автора или оставьте поле незаполненным, тогда автором будет назначен админ сайта.
- Download&Import Attachments. Если не будете прикреплять файлы, оставьте поле пустым.
- Page Template. Если у вашей темы несколько шаблонов для страниц выберите нужный или оставьте шаблон страницы по умолчанию.
- Select page parent — выбор родительской страницы. В этом примере заранее создана страница «Города» и выбрана как родительская. Все созданные страницы городов будут под ней. Можно не делать родительскую страницу.
- Menu Order — порядок расположения страниц. В примере оставили его без изменений.
- Function Editor — тут можно встраивать php-код и дополнительные хуки. Функция для продвинутых. Подробнее почитать о ней можно в документации на сайте плагина.
Шаг 4: создать уникальный ID
На этой странице надо заполнить поле Unique Identifier уникальный идентификатор для страниц, чтобы исключить дубликаты. Перетащите сюда элементы <iata> и <name>, получится строка вида {iata[1]}-{name[1]}.



Импорт спецпредложений из файла xml с сайта Aviasales.ru
Импортировать файл xml можно прямо с сайта Aviasales.ru по ссылке http://www.aviasales.ru/latest-offers.xml. Перед импортом нужно включить в настройках плагина опцию Enable Stream Reader, чтобы русские символы нормально импортировались.

Как импортировать маршруты и спецпредложения для конкретной авиакомпании
Одна авиакомпания может опубликовать несколько спецпредложений по разным маршрутам, в XML-файле они отображаются {route[1]}, {route[2]}, {route[3]}. Чтобы все их вытащить, вставьте в поле контента конструкцию [FOREACH()] для циклического прохождения по каждому элементу <route>. Перетащите элемент <route> из дерева XML справа в запись. Получится {route[1]}, удалите [1]. Должен получиться код вида: [FOREACH({route})] и закрывающий шорткод [ENDFOREACH]. При размещении такой конструкции все три направления {route[1]}, {route[2]}, {route[3]} отобразятся по порядку. Между шорткодами FOREACH перетащите и вставьте from_name (откуда), получится {route[1]/@from_name}. Удалите из него route[1]/, останется {@from_name}. То же самое нужно сделать с элементом to_name (куда) и другими элементами, которые будем использовать, в итоге должно получиться так:[FOREACH({route})]
{@from_name} - {@to_name} {@class} {@roundtrip_price}{@oneway_price}
[ENDFOREACH]

Как вставить ссылку на White Label
Вы можете вставить ссылку на поиск на White Label. Используйте элементы {route[1]/@from_iata} и {route[1]/@to_iata}, удалите route[1]/. Получатся элементы {@from_iata} и {@to_iata} и ссылка такого вида:Адрес_White_Label/flights/?origin_iata={@from_iata}&destination_iata={@to_iata}.
Как импортировать даты поездки
В xml файле есть временные точки такого вида:- sale_date_begin — начало периода продаж билетов.
- sale_date_end — окончание периода продаж билетов.
- flight_date_begin — начало периода полетов.
- flight_date_end — окончание периода перелетов.
- [date(«d.m.y»,strftime({./@flight_date_begin}))]
- [date(«d.m.y»,strftime({./@flight_date_end}))]
- [date(«d.m.y»,strftime({./@sale_date_begin}))]
- [date(«d.m.y»,strftime({./@sale_date_end}))]

Импорт логотипов авиакомпаний
Логотипы авиакомпании доступны по адресу http://pics.avs.io/width/height/iata.png, где width — ширина логотипа, height — высота логотипа, iata — иата код авиакомпании. Размер может быть любым.- Вставьте в поле загрузки ссылку: http://pics.avs.io/width/height/iata.png.
- Замените iata на элемент {./@airline_code} из правого сайдбара.
- Получится ссылка вида: http://pics.avs.io/width/height/{./@airline_code}.png.
- Размер логотипа задайте, заменив длину и ширину на нужные значения.


- На странице Manage Imports найдите нужный файл.
- Кликните на Scheduling Options.

- Выберите вариант Manual Scheduling.

- Вам нужно задать trigger URL и processing URL
Trigger URL для запуска раз в сутки или другой промежуток времени:
Для запуска импорта каждые 24 часа, нужно запускать URL-адрес триггера каждые 24 часа. Processing URL для запуска каждые 2 минуты:
http://ваш-сайт.com/wp-cron.php?import_key=[YOUR_SECRET_KEY]&import_id=[YOUR_IMPORT_ID]&action=trigger
URL-адрес обработки должен запускаться каждые две минуты, поскольку он может не завершить импорт в один проход. Причина в том, что многие хосты имеют максимальное время выполнения сценариев на месте, и его хватает только для того, чтобы скрипт обработки завершил небольшой процент вашего импорта до его выключения.http://ваш-сайт.com/wp-cron.php?import_key=[YOUR_SECRET_KEY]&import_id=[YOUR_IMPORT_ID]&action=processing


