Документация плагина WC Nova Poshta Shipping

Установка

Для автоматической установки перейдите в вашу админ-панель Wordpress. Выберите пункт меню "Плагины" -> Добавить новый. На появившейся странице введите в строку поиска wc ukr shipping. Нажмите кнопку Установить, а затем Активировать на появившемся плагине в результатах поиска.

Настройка

Для открытия страницы настроек плагина WC Nova Poshta Shipping кликните на пункт меню WC Ukr Shipping вашей админ-панели.

На странице настроек вы увидите перед собой две секции: Общие и Переводы.

Секция Общие содержит следующие настройки:

  1. API ключ Новой Почты. Без него вы не сможете загрузить отделения в базу данных.
  2. Стоимость доставки вашего магазина.
  3. Язык, на котором будут отображаться отделения Новой Почты во front-end.
  4. Если установлена галочка, помимо основных полей выбора отделения, клиенту также будет доступно поле, где он сможет указать конкретный адрес для доставки курьером.
  5. Цвет индикатора загрузки данных во front-end (например, когда вы выбрали нужную область и вам подгружаются для выбора города).
  6. При активной галочке, плагин будет отправлять статистику работы вашего сайта (установленные плагины, выбранные настройки в данном плагине, исключая API ключ и прочие). Ваши личные данные и данные для входов ни коим образом не попадают в данную статистику. Рекомендуем всегда включать данную опцию для улучшенного анализа проблем с плагином, в случае, если они появятся.
  7. При клике на данную кнопку плагин загрузит все актуальные данные областей, городов и отделений Новой Почты в базу данных вашего магазина. Рекомендуем периодически нажимать данную кнопку. Не покидайте страницу настроек, пока эти данные грузятся.

Добавьте актуальный API ключ Новой Почты, сохраните настройки и нажмите кнопку Обновить отделения. Подождите пока плагин загрузит актуальные данные с Новой почты (вы увидите зеленый индикатор того, что данные успешно загружены).

Секция Переводы содержит данные для всех текстов которые будут показаны пользователю при работе плагина во front-end. Вы можете изменить их по вашему вкусу и желанию. Например, поменять название метода доставки на удобное вам (по-умолчанию стоит Доставка службой Новая Почта). Обратите внимание, что данные опции позволяют задавать тексты только для одного языка (украинский или русский). Для более расширенной локализации текстов и для настройки плагина для нескольких языков читайте пункт Локализация.

Установка метода доставки для WooCommerce

После настройки основных опций, вы должны добавить созданный плагином метод доставки в настройки геозон WooCommerce. Для этого перейдите в пункт меню WooCommerce -> Настройки и выберите вкладку Доставка. Вам нужно создать геозону Украина (если она еще не создана). Сделать это можно кликнув на кнопку Добавить зону доставки.

Далее выберите вашу геозону (наведите на неё курсором) и нажмите кнопку изменить. Вам откроется страница настройки методов доставки для данной геозоны. Нажмите кнопку Добавить метод доставки.

В появившемся окне выберите в выпадающем списке "Доставка службой Новая Почта" и нажмите кнопку Добавить метод доставки. Подождите пока WooCommerce обновит данные, после чего все настройки плагина успешно завершены.

На этом этапе плагин успешно настроен. Перейдите на сайт, чтобы протестировать его работу.

Локализация

До этого мы настраивали отображение текстов только для одного языка. Функционал плагина позволяет более гибко настроить отображение текстов для нужных вам языков (если их больше 1-го). В данной секции мы покажем два варианта настройки переводов: используя платный языковый плагин (и немного кода php) и полную настройку переводов с помощью php кода. Стоит заметить что от вас потребуется немного навыков программирования или хотя бы понимания иерархии файлов темы Wordpress. Все примеры кода в данной документации вы сможете скопировать прямо на ваш рабочий сайт используя ftp или редактор темы Wordpress.

Локализация с помощью WPML Pro

Если у вас на сайте куплен и установлен плагин WPML Multilingual CMS, а также дополнение к нему под названием WPML String Translation, вы можете перевести все тексты плагина WC Nova Poshta Shipping используя функционал перевода строк, предоставленный данными дополнениями.

В админ-панели перейдите в меню WPML -> Перевод строк. Вы перейдете на страницу настроек переводов строк. Выберите домен wc-ukr-shipping, WPML просканирует файлы плагина и выведет вам список всех строк, доступных для перевода.

Выберите нужную вам строку и нажмите кнопку Переводы. Вам откроется блок, где вы можете написать переводы для всех языков, используемых на сайте. После изменения переводов выберите галочку "Перевод закончен" и нажмите "Сохранить".

На данном этапе вам понадобится немного кода php. С помощью кода ниже вы укажите плагину WC Nova Poshta Shipping, какой язык он должен использовать для областей, городов и отделений во front-end. Вы можете поместить данный код в файл functions.php вашей темы Wordpress.

add_filter('wc_ukr_shipping_language', function ($lang) {
    if (wpml_get_current_language() === 'uk') {
        return 'ua';
    }

    return 'ru';
});

Плагин WC Nova Poshta Shipping поддерживает два языковых кода переводов: ru - для русского и ua - для украинского. Как вы можете заметить из кода, в WPML для украинского языка установлен код uk и проверка в коде происходит по данной локали. Если украинский язык на вашем сайте имеет код ua, вы можете заменить проверку uk на ua в данном коде.

С помощью PHP

Данный способ отличается от предыдущего лишь тем, что тут не будет визуальной части перевода, все будет выполняться посредством кода PHP. Я покажу локализацию плагина на примере плагина Polylang бесплатной версии.

Я установил плагин Polylang и добавил два языка: русский и украинский, с кодами ru и uk соответственно.

В файле functions.php поместите следующий код для переопределения переводов плагина.

add_filter('wc_ukr_shipping_get_nova_poshta_translates', function ($translates) {
    $currentLanguage = wp_doing_ajax() ? $_COOKIE['pll_language'] : pll_current_language();
  
    if ($currentLanguage === 'uk') {
        // Возвращаем украинские переводы
        return [
            'method_title' => 'Нова Пошта',
            'block_title' => 'Вкажіть відділення доставки',
            'placeholder_area' => 'Оберіть область',
            'placeholder_city' => 'Оберіть місто',
            'placeholder_warehouse' => 'Оберіть відділення',
            'address_title' => 'Доставка кур\'ером',
            'address_placeholder' => 'Введіть адресу доставки'
        ];
    }
  
    // Возвращаем русские переводы
    return [
        'method_title' => 'Новая почта',
        'block_title' => 'Укажите отделение доставки',
        'placeholder_area' => 'Выберите область',
        'placeholder_city' => 'Выберите город',
        'placeholder_warehouse' => 'Выберите отделение',
        'address_title' => 'Доставка курьером',
        'address_placeholder' => 'Введите адрес доставки'
    ];
});

Фильтр, описанный выше, передает массив ключ-значение текстов плагина. Рассмотрим подробнее какой ключ за что отвечает:

  • method_title - Название метода доставки
  • block_title - Заголовок для блока на странице оформления заказа
  • placeholder_area - Placeholder для поля выбора области
  • placeholder_city - Placeholder для поля выбора города
  • placeholder_warehouse - Placeholder для поля выбора отделения
  • address_title - Название для флажка выбора адресной доставки
  • address_placeholder - Placeholder поля адресной доставки

Последним шагом будет добавление кода для указания нужного языка отделений Новой Почты.

add_filter('wc_ukr_shipping_language', function ($lang) {
    if (pll_current_language() === 'uk') {
        return 'ua';
    }

    return 'ru';
});

Используя данный пример, вы можете локализовать плагин WC Nova Poshta Shipping под любой удобный вам плагин переводов.

Если вам понравился плагин, оставьте отзыв о нем на официальной странице Wordpress. Всего 5 минут Вашего времени дадут нам понимание того, что мы делаем действительно нужную вещь!