All Projects → liquidweb → Woocommerce Custom Orders Table

liquidweb / Woocommerce Custom Orders Table

Licence: gpl-3.0
Store WooCommerce order data in a custom table for improved performance.

Projects that are alternatives of or similar to Woocommerce Custom Orders Table

Awesome Woocommerce
Plugins and code snippets to improve your WooCommerce store.
Stars: ✭ 279 (-32.77%)
Mutual labels:  ecommerce, wordpress, woocommerce, wordpress-plugin
Intervention
WordPress plugin to configure wp-admin and application state using a single config file.
Stars: ✭ 481 (+15.9%)
Mutual labels:  wordpress, woocommerce, wordpress-plugin
Osen Wc Mpesa
WordPress Plugin that extends WordPress and WooCommerce functionality to integrate MPESA for making payments, remittances, checking account balance transaction status and reversals.
Stars: ✭ 45 (-89.16%)
Mutual labels:  wordpress, woocommerce, wordpress-plugin
Woocommerce Coupon Links
A WordPress plugin to automatically apply WooCommerce coupon codes to the cart via a URL.
Stars: ✭ 127 (-69.4%)
Mutual labels:  wordpress, woocommerce, wordpress-plugin
Dokan
Multivendor marketplace platform
Stars: ✭ 146 (-64.82%)
Mutual labels:  ecommerce, wordpress, woocommerce
Co Cart
🛒 CoCart is a flexible, open-source solution to enabling the shopping cart via the REST API for WooCommerce.
Stars: ✭ 198 (-52.29%)
Mutual labels:  wordpress, woocommerce, wordpress-plugin
Performance Improvements For Woocommerce
Performance tweaks for the front-end and back-end of a store.
Stars: ✭ 46 (-88.92%)
Mutual labels:  wordpress, woocommerce, wordpress-plugin
Woocommerce
An open source eCommerce plugin for WordPress.
Stars: ✭ 7,473 (+1700.72%)
Mutual labels:  ecommerce, wordpress, woocommerce
Bigcommerce For Wordpress
A headless commerce integration for WordPress, powered by BigCommerce
Stars: ✭ 82 (-80.24%)
Mutual labels:  ecommerce, wordpress, wordpress-plugin
Flutter Woocommerce App
WooCommerce App template that uses Flutter. Integrated to work with WooCommerce stores, connect and create an IOS and Android app from Flutter for IOS and Android
Stars: ✭ 161 (-61.2%)
Mutual labels:  ecommerce, wordpress, woocommerce
WooCommerce-Plugin-Extension-Boilerplate
Plugin boilerplate to create extensions of WooCommerce
Stars: ✭ 16 (-96.14%)
Mutual labels:  wordpress-plugin, ecommerce, woocommerce
Super Progressive Web Apps
SuperPWA helps to convert your WordPress website into Progressive Web Apps instantly. PWA (Progressive Web Apps) demo at : https://superpwa.com and Plugin :
Stars: ✭ 304 (-26.75%)
Mutual labels:  wordpress, wordpress-plugin
Gatsby Woocommerce Themes
⚡ A Gatsby Theme for WooCommerce E-commerce site Gatsby WooCommerce WordPress
Stars: ✭ 306 (-26.27%)
Mutual labels:  wordpress, woocommerce
Slickstack
SlickStack is a free LEMP stack automation script written in Bash designed to enhance and simplify WordPress provisioning, performance, and security.
Stars: ✭ 311 (-25.06%)
Mutual labels:  wordpress, woocommerce
Wp Graphql Woocommerce
Add WooCommerce support and functionality to your WPGraphQL server
Stars: ✭ 318 (-23.37%)
Mutual labels:  woocommerce, wordpress-plugin
Wp Reactivate
React boilerplate for WordPress plugins
Stars: ✭ 303 (-26.99%)
Mutual labels:  wordpress, wordpress-plugin
Woocommerce Pos
🏪 A simple front-end for taking WooCommerce orders at the Point of Sale.
Stars: ✭ 318 (-23.37%)
Mutual labels:  wordpress, woocommerce
Pwa Theme Woocommerce
E-commerce Progressive Web App Theme (React & Redux)
Stars: ✭ 382 (-7.95%)
Mutual labels:  wordpress, woocommerce
Stream
🗄️ Stream plugin for WordPress
Stars: ✭ 335 (-19.28%)
Mutual labels:  wordpress, wordpress-plugin
Wordpress Importer
In-development rewrite of the WordPress (WXR) Importer
Stars: ✭ 342 (-17.59%)
Mutual labels:  wordpress, wordpress-plugin

WooCommerce Custom Orders Table

Build Status Coverage Status

This plugin improves WooCommerce performance by introducing a custom table to hold all of the most common order information in a single, properly-indexed location.

Background

WooCommerce 3.0 introduced the notion of CRUD (Create, Read, Update, and Delete) interfaces in a move to unify the way WooCommerce data is stored and retrieved. However, orders are still stored as custom post types within WordPress, with each piece of order information (billing address, shipping address, taxes, totals, and more) being stored in post meta.

In fact, WooCommerce will typically create over 40 separate post meta entries for every single order. If your store receives even 10 orders a day, that means 400 new rows in the table every single day!

The larger the post meta table grows, the longer queries will take to execute, potentially slowing down queries (and thus page load times) for you and your visitors.

WooCommerce Custom Orders Table uses the WooCommerce CRUD design to save order data into a single, flat table that's optimized for WooCommerce queries; one order means only one new row, with minimal performance impact.

Requirements

WooCommerce Custom Orders Table requires WooCommerce 3.5.1 or newer.

If you're looking to migrate existing order data, you'll need to have the ability to run WP-CLI commands in your WooCommerce environment.

Migrating order data

After installing and activating the plugin, you'll need to migrate orders from post meta into the newly-created orders table.

The easiest way to accomplish this is via WP-CLI, and the plugin ships with three commands to help:

Counting the orders to be migrated

If you'd like to see the number of orders that have yet to be moved into the orders table, you can quickly retrieve this value with the count command:

$ wp wc orders-table count

Migrate order data from post meta to the orders table

The migrate command will flatten the most common post meta values for WooCommerce orders into a flat database table, optimized for performance.

$ wp wc orders-table migrate

Orders are queried in batches (determined via the --batch-size option) in order to reduce the memory footprint of the command (e.g. "only retrieve $size orders at a time"). Some environments may require a lower value than the default of 100.

Please note that migrate will delete the original order post meta rows after a successful migration. If you want to preserve these, include the --save-post-meta flag!

Options

--batch-size=<size>
The number of orders to process in each batch. Default is 100 orders per batch.
Passing `--batch-size=0` will disable batching.
--save-post-meta
Preserve the original post meta after a successful migration. Default behavior is to clean up post meta.

Copying data from the orders table into post meta

If you require the post meta fields to be present (or are removing the custom orders table plugin), you may rollback the migration at any time with the backfill command.

$ wp wc orders-table backfill

This command does the opposite of migrate, looping through the orders table and saving each column into the corresponding post meta key. Be aware that this may dramatically increase the size of your post meta table!

Options

--batch-size=<size>
The number of orders to process in each batch. Default is 100 orders per batch.
Passing `--batch-size=0` will disable batching.

Contributing

If you're interested in contributing to the development of the plugin or need to report an issue, please see the contributing guidelines for the project.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].