Just a pointer in the right direction:
You’ll want a Custom Post Type bread.
Then you’ll need a Custom Taxonomy for this CPT.
The rest will probably be post meta.
If the ingredients are just used like tags without a lot of data themselves you can make them a Custom Taxonomy as well. If they have separate URLs and content you’ll probably want to implement them as CPTs and reference them via the IDs in post meta of the bread CPT.
When you create those CPTs and Taxonomies you can create them as public=false. That way they do not have their own URLs, but can be used to manage the data in the backend.
Then you can use custom queries to build the JSON just the way you need it. Either the old fashioned way or using the REST API or just by outputting it inline in the page the angular app runs.
So basically you’re only using WordPress to handle the Backend UI and then just build a JSON the way you need it for frontend.
Related Posts:
- Programmatically creating posts based on external JSON feed (asynchronously)
- Post meta vs separate database tables
- Is it mandatory to use $wpdb->prefix in custom tables
- Update Option Stored in Multi-Dimensional Array
- Default table collation on plugin activation?
- Using a database view = evil incarnate?
- Writing a plugin that notify my friends of new post that mentions(@) them
- Getting wrong relationship value in $args in wp_Query?
- WordPress and multithreading
- Not sure the best way to save custom plugin data
- The ideal place for storing persistent PHP objects
- What is the added “complexity” of custom tables?
- Plugin development with unit tests
- How is the data stored in the database?
- Formatting of curly brackets array from WP database to get more readable output
- How to modify post content before writing to database?
- How to: Rest endpoint returning empty object
- Actions or filters fired when data is saved in a custom table
- get all products of one category
- Hello dolly type plugin that allows people to add their own
- Sample — test — data for large WordPress install
- Is there any reason only 1 (my) IP would be added to this table using $wpdn->insert?
- How to store data for posts/pages built with drag-n-drop builder?
- Activation hook not creating table
- Is the usage of ON DELETE CASCADE wrong or not allowed on wordpress?
- Saving data from block editor to the database
- Generate dynamic page through data from another page
- What for the tables ending with the meta used in database of wordpress?
- Creating table with plugin is not working
- dbDelta() Error – Incorrect index name ” for query ALTER TABLE
- Get a custom table to an array
- Update/insert only a column of database table
- How to Create database table when Plugin installed/activated, and delete database when Plugin deleted
- I’m designing a plugin to create database indexes. Suggestions?
- WordPress database error for query INSERT INTO
- How to connect to AWS RDS external database (not for the core WordPress db)
- How should I store a log for my plugin
- How to create database table, add data, update and delete using wpdb via plugins?
- Using WPDB to output raw XML fails because of wp-blog-header.php
- Are there any scripts, classes, and/or functions built-in to WP for a plugin to export/import its saved data from wp_options?
- Strange issue saving custom field data for a WooCommerce order
- Why does wp_remote_post returns an empty body response on certain endpoints?
- Form doesnt save to database
- Updating Woocommerce Settings API when WordPress Settings API saved and vise versa
- How to enqueue or include json file to a plugin
- Is using custom table to suit business needs instead of transients a big hit to page load speed?
- Plugin Development for registered users
- wordpress JSONAPI introspector always limits number at 10?
- Optimising a big WordPress site
- Is it necessary to do validation again when retrieving data from database?
- What is the best way to store a few fields?
- json_decode does not work on WordPress
- Adding columns to core tables
- How to query custom db table?
- Delete data from database using row action
- Show dynamic list of products from custom api of another database under same host
- How do I have now a duplicated user entry if this is not allowed (and I cannot replicate it)?
- Alternative functions for mysql_free_result and mysql_ping in wordpress functions
- Make Database query only when option is updated
- Can we intercept user_login and user_pass from a wp_login_form?
- How best to handle database version dependence (from $wp_db_version)
- Two different wordpress sites – same server and IP address. Gaining Access to database 1 of 2
- What might be the reason of Couldn’t fetch mysqli_result on another domain?
- How do I debug an error that a plugin is causing?
- Update plugin settings option_name for big plugin update
- $wpdb->update Issue
- dbdelta failing with error: “WordPress database error Table ‘wp_2_myPlugin’ already exists
- WordPress database error: [Query was empty] – using $wpdb->prepare()
- How to write a shopping queue line plugin with a queue button?
- Showing results from json-string in WordPress search results page
- Error code when migrate
- GET request return value as error instead of success
- How to get inserted row IDs for bulk/batch insert with wpdb query?
- WordPress how do I echo SUM from a column of a MySQL table by user id AND type_operation
- ajax response strips multidimensional array and unable to decode
- WordPress Fatal error: Uncaught Error: Call to undefined function dbDelta()
- Use admin-post to submit form data to external database
- Save in my custom admin page and redirect to the saved object
- Relational / Associate tables using native WordPress functionality
- How to store in the database directly the translation?
- How and when would I implement some code which would take data from one part of the Db and put it in another?
- pull data from wordpress database
- Ajax not working to insert, query and result data
- Why Worpdress doesn’t create table in database?
- Form and database, plugin development
- Associating special meaning with user id 0
- Developing a plugin, ran it through P3 Profiler, shows up slow, but I don’t know why
- What method should I use to store my plugin data (multi level menus with options on each item)
- How to add additional field in a table row after creating a table?
- WordPress plugin tables become corrupt
- Post data in wp-admin to external database
- Is it possible to make WordPress as a RESTful app?
- Running one-off cron jobs when WP_DISABLE_CRON is true: can I hit /wp-cron.php?
- oneOf two possible objects in WP REST API?
- Leveraging Core Functionality in Icon Upload Plugin [closed]
- Can I log the searches that are returning 404 in the DB?
- WordPress database error: [Table ‘bitnami_wordpress.questions’ doesn’t exist]
- Custom Plugin Breaks Other Plugin Functions
- Custom database table entry edit page
- How to get list of ALL tables in the database?