Firestore: сохранение данных в полях с именами параметров

Не думайте об ошибках как нечитаемые древние глифы и читайте их себе:

Fatal error. Это означает, что PHP не может обработать ошибку, она не знает, как ее обрабатывать. Есть некоторые ошибки, которые PHP может просто пропустить, но все, что запускает Fatal error, является, кстати, фатальным (для скрипта (и, возможно, разумности разработчика?))

Теперь нам нужно выяснить ПОЧЕМУ он умирает. «Класс BUILDR_OPTIONS не найден в [месте расположения сценария] в [номер строки]».

Если вы перейдете в этот каталог C:\xampp\htdocs\wordpress\wp-content\plugins\buildr-features\inc\ и откройте этот файл functions-customizer.php и перейдите к строке 24 - вы увидите, что он пытается создать экземпляр класса с именем BUILDR_OPTIONS, возможно, используя что-то вроде следующего:

$buildr_options = new BUILDR_OPTIONS();

В ошибке упоминается, что класс BUILDR_OPTIONS не найден (что означает, что он еще не определен).

Поскольку это произошло, когда вы изменили темы, я бы сказал, что ваша старая тема определяет этот класс (случайно ли он назвал что-то вроде Buildr Theme?). Таким образом, вам придется либо повторно активировать эту тему, либо отключить плагин buildr-features. Если вы не можете открыть панель управления, ее можно отключить, отредактировав имя папки. Стандарт «Я переименовываю этот плагин, чтобы временно отключить его» Практика, которую я видел больше всего, - это переименовать ее с суффиксом -x, поэтому в этом случае переименуйте ее в buildr-features-x. Это закроет плагин и переименует его, чтобы он снова активировался.

Итак, ваши самые легкие варианты:

  • Повторно активировать старую тему
  • Деактивировать плагин
0
задан Frank van Puffelen 19 January 2019 в 14:59
поделиться

1 ответ

Вы должны использовать обозначение в квадратных скобках следующим образом:

setFavorite(
   channelID: string, 
   favorite: boolean 
): Promise<void> { 
   let dataObj = {}; 
   dataObj[channelID] = favorite; 
   return this.fireStore.firestore
    .doc(favorites/${mycustomID})
    .set(dataObj); 
}
0
ответ дан Renaud Tarnec 19 January 2019 в 14:59
поделиться
Другие вопросы по тегам:

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