GithubHelp home page GithubHelp logo

mobilemadman2 / woocommerce-product-tables-feature-plugin Goto Github PK

View Code? Open in Web Editor NEW

This project forked from woocommerce/woocommerce-product-tables-feature-plugin

0.0 1.0 0.0 450 KB

Implements new data-stores and moves product data into custom tables, with a new, normalised data structure.

License: GNU General Public License v3.0

PHP 99.81% Shell 0.19%

woocommerce-product-tables-feature-plugin's Introduction

WooCommerce Product Tables

This is the development repository for our feature plugin to replace WooCommerce product meta data with custom tables. This feature plugin is currently only available on GitHub, but will move to WordPress.org when more stable.

Since we implemented CRUD objects in WooCommerce core, our plan has been to use that abstraction to change core data structures for performance reasons. This project brings about those changes.

Data stucture

This plugin creates dedicated tables for WooCommerce data.

  • wc_products - Stores product data such as price, stock, and type. This replaces meta data. Products are linked to POSTS by ID still so some backwards compatibility is maintained.
  • wc_product_attributes - Stores attributes assigned to products. This includes custom attributes, and global attributes (taxonomies).
  • wc_product_attribute_values - Store attribute terms/values assigned to products.
  • wc_product_downloads - Stores downloadable files assigned to downloadable products.
  • wc_product_relationships - Lookup table to map images, grouped products, upsells, and other relations between products by ID.
  • wc_product_variation_attribute_values - Specifically for variations, this stores the attribute value assigned to a variation. e.g. Color = blue.

Compatibility

With data moving to custom tables, WordPress based functions which query data directly will ultimately not be compatible with this new way of doing things. This is why the CRUD was implemented first to act as a method of abstraction.

A basic compatibility layer will map meta data to custom tables if legacy plugins try to do that, however, this can only work so far. Things such as direct SQL queries, or using WP_Query without going through WooCommerce may no longer be compatible.

In terms of data, we aim to have both on the fly and bulk migration of data into the new structures.

Get involved

This project is a large undertaking, and we believe it to be a neccessary one. This project should serve as a template for other objects in WooCommerce and pave the way for a truly performant plugin.

woocommerce-product-tables-feature-plugin's People

Contributors

mikejolley avatar rodrigoprimo avatar kloon avatar claudiosanches avatar claudiulodro avatar renovate-bot avatar javorszky avatar hardipparmar-multidots avatar pcfreak30 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.