WooCommerce Custom Order Data

WooCommerce Custom Order Data

If you are extending WooCommerce by creating themes or developing plugins you will find this plugin to be priceless!

WooCommerce uses WordPress logic and database tables to store data on store items, orders, checkouts… If you are integrating a payment gateway or any 3rd party app with your store, you sometimes need to store some extra data for specific orders. It tends to be very hard or even impossible to extend orders with custom data.

“WooCommerce Custom Order Data” plugin enables you to extend WC orders with practically any custom data by writing just one line of code and use it wherever you need.

Extending WC orders

Here’s how easy it is to extend a WooCommerce order in your code:


// extend order with custom data

WC_CustomOrderData::extend($order);

To set a custom property to an order, just type:


// set 'your_custom_property' to an order

$order->custom->your_custom_property = 'some value';

After that you can use your custom order property by referring the “custom” order property:


// get 'your_custom_property'

$custom_property = $order->custom->your_custom_property;

You can allways check if a custom order property exists using the standard PHP way:


// check if'your_custom_property' is set

if(isset($order->custom->your_custom_property)) {

// do stuff

}

All custom order properties are saved in a separate database table. When you finish working with the order, make sure you save custom data by typing:


// save all custom properties

$order->custom->save();

Note: Storred objects and arrays will be restored as arrays.

Download

You can download “WooCommerce Custom Order Data” plugin, leave feedback or ask for support on the plugin’s official page on WordPress.Org.

Share on TumblrTweet about this on TwitterShare on FacebookShare on Google+Share on LinkedInShare on RedditPin on PinterestShare on VK

One thought on “WooCommerce Custom Order Data

  1. Thank you, this looks pretty helpful. I’m designing a custom solution that stores customer data and I need it to attach to any order that needs that information.

    I will give this a try!

Leave a Reply

Your email address will not be published. Required fields are marked *