Разработка плагинов: хранение и манипулирование данными, которые подходят для JSON в базе данных

Я новичок в разработке плагинов WordPress, но не в веб-разработке в целом. У меня есть веб-сайт, функциональность которого я пытаюсь передать в WordPress для клиента, который нуждается в нем в пользовательском плагине и теме.

На моем другом (не WordPress) веб-сайте, который является страницей магазина, у меня нет возможности редактировать элементы магазина как клиента, все они жестко закодированы в сложный JSON с вложенными массивами и объектами, которые не вписываются в MySQL.

Выдержка (от углового контроллера):

$scope.theBreadsList = [{ category: 'Daily Breads', breads: [{ text: 'Apple Streusel', category: 'Daily Breads', type: 'Apple Streusel', instance: 0, isDaily: true, price: 7.25, quantity: 0, days: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sunday"], daysNotAvailable: null, onMenu: true, canSlice: false, orderDates: [], theActualOrderDate: "", shipping: false, ingredients: ["White Flour", "Honey", "Water", "Butter", "Brown Sugar", "Eggs", "Applesauce", "Apples", "White Sugar", "Yeast", "Spices", "Vanilla", "Salt"] }, { text: 'Honey Whole Wheat', category: 'Daily Breads', type: 'Honey Whole Wheat', instance: 0, isDaily: true, price: 5.65, quantity: 0, days: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sunday"], daysNotAvailable: null, onMenu: true, canSlice: true, orderDates: [], theActualOrderDate: "", shipping: false, ingredients: ["Organic Whole Wheat Flour","Filtered Water","Honey","Yeast","Salt"], }, 

В основном для плагина WordPress я хочу, чтобы клиент мог вводить такие категории и хлеб (или любой другой тип элемента) со всеми этими связанными данными, а затем добавлялся в этот формат, который должен быть прочитан моим Angular script.

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

Извините, это настолько расплывчато, но я надеюсь, что кто-то может мне помочь концептуально, что с этим делать.

Просто указатель в правильном направлении:

Вам понадобится bread Custom Custom Type .

Тогда вам понадобится Таможенная таксономия для этого CPT.

Остальное, вероятно, будет опубликовано .

Если ингредиенты используются только как теги без большого количества данных, вы также можете сделать их таксономией. Если у них есть отдельные URL-адреса и контент, вы, вероятно, захотите внедрить их в качестве СРП и ссылаться на них через идентификаторы в метатете CPT bread .

Когда вы создаете эти CPT и таксономии, вы можете создать их как public=false . Таким образом, у них нет собственных URL-адресов, но они могут использоваться для управления данными в бэкэнд. Затем вы можете использовать пользовательские запросы для создания JSON именно так, как вам нужно. Либо старомодный способ, либо использование REST API, либо просто вывод его в строку на странице, где работает угловое приложение.

Таким образом, в основном вы используете только WordPress для обработки пользовательского интерфейса Backend, а затем просто создаете JSON так, как вам нужно для интерфейса.