I’m writing a plugin that will automatically import products via JSON API. I need to programatically create/update products.
I did a research and it seems everyone is using
update_post_meta() for this, ie this and this
However, I found that there’s the
class-wc-api-products, where are various functions for adding/editing products and variations.
Is there any reason why people don’t use something like:
$wc = new WC_API_Products(); $wc->create_product( $data );
It seems to me more future-proof to use native WC classes for this, am I wrong?
Technically speaking, Woocommerce products are just another WordPress post object with a customized post type (which is
product in this case). If you take a look at the
create_product function inside
class-wc-api-products.php, you’ll see this line:
// Attempts to create the new product $id = wp_insert_post( $new_product, true );
So the API ends up using
wp_insert_post eventually. I guess you can do both but it’s obviously using what WooCommerce API provides to create a WooCommerce product is a better way to go.