Blog

WooCommerce REST API: Create Product with Images

I am starting to have more and more tutorials about REST API on my blog which is for sure because I am doing some work with my crossposting plugin.

Today is another one where I am going to share with you a simple code example how you can add Product image and Product gallery images when creating a product with REST API.

Just in case I mean these things:

WooCommerce product image and gallery images
You can find this if you go and edit any WooCommerce product.

Compare Meta Box Plugins Performance

Even though Gutenberg (WordPress Block Editor) has become our new reality and FSE themes are also on their way, we still need meta boxes on our projects. The meta boxes aren’t necessarily classic meta boxes for posts, it could be additional settings fields for taxonomies, users, comments and even options pages. It means that we are going to need them for a very long time. Maybe even forever.

Of course the best way to create any of the mentioned above is to code by yourself. But it could be really time consuming especially if you have a lot of fields (and working on lots of projects).

That’s when metabox plugins come into play. The most popular ones are Advanced Custom Fields and Carbon Fields. Also in this article I am going to mention my own metabox plugin I developed for my needs which is Simple Fields.

The idea of this tutorial is to become more conscious to what plugins we are using to achieve our goals, because there are lots of slow WordPress websites out there, not because WordPress is slow but because sites are overloaded with tens and even hundreds heavy plugins.

Let’s look the truth in the face – of course I am going to tell you how cool my Simple Fields plugin is. But I am not going to say “use it”, because I understand clearly that sometimes its functionality is not enough, then you can probably look at Carbon Fields plugin. And even Advanced Custom Fields PRO has its own advantages though I am not a big fan of it.

2022 Year in Review

Looking back at 2021 year right now, I see that it was one of the greatest years but it ended up in chaos and depression and huge amount of time in 2022 I spent just trying to figure it out.

But anyway 2022 was a year of unexpected travels and hard work mode. I have done a lot of things I was struggling (or postponing) to do for years! Have visited 7 new countries and first time in my life tasted how it is to be a digital nomad.

Multisite Products Sync for WooCommerce

Let’s assume that you have a WordPress multisite network installed and some (or all) of the sites of the network are WooCommerce stores.

The thing is that sometimes you may need to sync WooCommerce products between the sites of your multisite network.

Because we are talking about WordPress Multisite we are not going to work with REST API, the tutorial will be all around switch_to_blog() function and CRUD layers.

Sync Users Between Sites

In this post we are going to talk about REST API, particularly about how to sync user registrations, profile updates and removals between two completely separate WordPress websites.

If you need to sync posts instead, then I can suggest you a tutorial and a plugin.

How to Create Product Variations Programmatically

There is also a tutorial on my blog about creating products programmatically where I slightly cover the product variations.

But there are still a couple moments I would like to discuss more thoroughly, I came to them when I was doing the variable products crossposting for my multisite crossposting plugin.

Get Product (or Variation) by SKU

In this tutorial I will show you how to get a product or a product variation object in WooCommerce if you only know its SKU. It is easy-peasy when we get a product object by ID, we just have to use wc_get_product() function, but we can not pass SKU to that function.

So I am going to show you three different ways how you can obtain a product object from SKU, we are going to do it both WooCommerce-way (with WP_Product_Query and with wc_get_product_id_by_sku() function) and WordPress-way (with WP_Query).