@alexiusgrey

Hyyan Polylang for Woocommerce — как исправить (очередную) ошибку, чтобы работало с 8 версией php?

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

В этот раз в админке в настройках вукоммерса не показывались настройки емейлов.

Ошибка
Fatal error: Uncaught Error: Attempt to assign property "locale" on bool
in /var/тут-пути-к-моей-папке-на-хосте/wp-content/plugins/woo-poly-integration/src/Hyyan/WPI/Utilities.php on line 645


Нужный файл плагина на гитхабе

Строчка 645 выглядит как
$polylang->curlang->locale = $languageLocale;
Если закомментировать, то мейлы появляются.
Но наверно комментировать не вариант.
Где неправильность в том, что "locale" это bool?
  • Вопрос задан
  • 110 просмотров
Пригласить эксперта
Ответы на вопрос 1
delphinpro
@delphinpro Куратор тега PHP
frontend developer
Где неправильность в том, что "locale" это bool?

С чего вы это взяли?
Ясно же написано: попвытка обратиться к свойству locale у переменной типа bool
То есть $polylang->curlang - bool (false)
Нужно выяснить, почему там false? а не объект, и поправить.
Или тупо добавить проверку

if ($polylang->curlang) {
  $polylang->curlang->locale = ...
}


но это лечение симптомов, а не болезни.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы