Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for storing CPT metadata in Custom Database Tables #3759

Open
cr101 opened this issue Dec 2, 2017 · 2 comments
Open

Support for storing CPT metadata in Custom Database Tables #3759

cr101 opened this issue Dec 2, 2017 · 2 comments

Comments

@cr101
Copy link

@cr101 cr101 commented Dec 2, 2017

As an example, we have two CPTs, Books and Authors, and we would like to store the Books metadata (i.e parent_id, isbn, subtitle, average_rating, ratings_count, publication_date, num_pages, bisac_code, author_id, etc) in a custom DB table "Books" and also store the Authors metadata (i.e works_count, date_of_birth, fans_count, average_rating, etc) in a custom DB table "Authors".

We would then like to query the data like so:

SELECT p.post_id, p.post_title, p.post_content, b.subtitle, b.average_rating, a.post_tile as author_name
FROM wp_posts as p
INNER JOIN books as b ON p.post_id = b.parent_id
INNER JOIN authors as a ON b.author_id = a.id
WHERE b.average_rating => 3 AND YEAR(b.publication_date) => 2007 AND bisac_code = 'FIC009050' AND a.average_rating => 3

Storing all the CPTs metadata in wp_postmeta is not an option because searching over 1 million rows would be very slow and doesn't scale and it's the reason why WooCommerce is moving orders and products to custom DB tables as well.

Will I be able to add custom fields/meta blocks to the two CPTs in Gutenberg and then save that meta data in custom database tables?

@pmgarman

This comment has been minimized.

Copy link

@pmgarman pmgarman commented Jan 6, 2018

You already can do this without the need for changes to Gutenberg. You can do it now without Gutenberg actually. We do it on projects of ours semi regulrly.

@cr101

This comment has been minimized.

Copy link
Author

@cr101 cr101 commented Jan 7, 2018

@pmgarman Yes, you can already save the CPTs metadata in custom db tables without Gutenberg but I'm fairly certain that you can't yet do that with Gutenberg.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
6 participants
You can’t perform that action at this time.