Документація плагіну 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 помістіть наступний код для перевизначення перекладів плагіну WC Ukr Shipping.

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 хвилин Вашого часу дадуть нам розуміння того, що ми робимо дійсно потрібну річ!