Проблема з надсиланням листів на woocommerce - Wordpress Warehouse
Плагін woocommerce для wordpress - зараз найкращий плагін, який дозволяє створити функціональний інтернет магазин на wordpress. Сьогодні хотілося б поговорити про досить часту проблему з цим плагіном, пов'язаним з тим, що листи про нові замовлення та повідомлення адміну — не працюють. Та й про методи лікування цієї проблеми.
Плагін woocommerce для wordpress - зараз найкращий плагін, який дозволяє створити функціональний інтернет магазин на wordpress. Сьогодні хотілося б поговорити про досить часту проблему з цим плагіном, пов'язаним з тим, що листи про нові замовлення та повідомлення адміну — не працюють. Та й про методи лікування цієї проблеми.
Отже, основних причин, з якими я стикався, є три.
Перша — ваш хостинг не підтримує надсилання листів вбудованою функцією mail wordpress. Тоді взагалі жодні листи не надходять від сайту. Майже завжди ця проблема вирішується дуже просто. Встановлення плагіна smpt Зазвичай в ньому нічого налаштовувати не потрібно, просто активувати. Якщо не допоможе, тоді взяти у хостера налаштування smpt і внести в налаштування плагіна.
Друга проблема - це те, що деякі хостери не дозволяють відправляти мила від імені меїлів, які відрізняються від домену. Пояснюю докладніше. У woocommerce є опція в якій ви вказуєте від якого міла надсилати повідомлення. Вказується вона у woocommerce - налаштування - email
Якщо нічого не прописати, то використовується емеїл адміну сайту. Загалом, іноді чарівним чином допомагає використовувати тут ім'я формату wordpress@вашдомен.ру.
3. Та й основна проблема. Від чоговона виникає — не зрозуміло, але виникає дуже часто на сайтах з українською локалізацією (та й взагалі будь-якою відмінною від eng). Пов'язана вона із статусами замовлення. Найчастіше виходить так, що якщо вибрати спосіб оплати - готівку, то при такому замовленні статус за замовчуванням призначається «в очікуванні», в результаті меїли не відправляються, тому що двигун вважає, що повідомлення потрібно надсилати тільки коли статус «у процесі» або « нове замовлення". У результаті це замовлення через 12 годин відправляється в кошик, оскільки woocommerce вважає, що оплата за ним не отримана і його можна видалити.
Перевірити чи у вас ця проблема легко - створіть самі собі замовлення через сайт, а потім на сторінці замовлень подивіться його статус - якщо у вас всі статуси будуть у вигляді чисел - тобто. 6, 8 і т.д. — отже, у вас саме ця проблема.
Найімовірніше вирішити її просто в адмінці не вийде. Вся проблема у цьому, що статусам присвоєно не вірний id, може бути як слів, тобто. статус pending - повинен мати pending слаг, а він натомість має слаг у вигляді цифри і просто не визначається двигуном.
Я поки що зміг цю проблему вирішити через phpmyadmin - заходьте у свою базу, відкривайте таблицю wp_terms. Рядки 2-13 зазвичай містять статуси
після колонки name у вас будуть йти цифри, наприклад, pending буде мати >
Ось і все, тепер у вас все визначатиметься правильно