web-dev-qa-db-fra.com

WooCommerce - Créer des produits par programme

J'écris un plugin qui importera automatiquement des produits via l'API JSON. J'ai besoin de créer/mettre à jour des produits par programme.

J'ai fait une recherche et il semble que tout le monde utilise wp_insert_post() et update_post_meta() pour cela, c'est-à-dire ceci et ceci

Cependant, j'ai trouvé qu'il y a le class-wc-api-products , où se trouvent diverses fonctions pour ajouter/éditer des produits et des variantes.

Y a-t-il une raison pour laquelle les gens n'utilisent pas quelque chose comme:

$wc = new WC_API_Products();
$wc->create_product( $data );

Il me semble plus sûr d’utiliser des classes de WC natives pour cela, est-ce que je me trompe?

3
user1049961

Techniquement, les produits Woocommerce ne sont qu'un autre objet de publication WordPress avec un type de publication personnalisé (qui est product dans ce cas). Si vous jetez un oeil à la fonction create_product dans class-wc-api-products.php, vous verrez cette ligne:

// Attempts to create the new product
$id = wp_insert_post( $new_product, true );

Donc, l'API finit par utiliser wp_insert_post finalement. Je suppose que vous pouvez faire les deux, mais il est évident que l’utilisation de l’API WooCommerce pour créer un produit WooCommerce est une meilleure solution.

3
Nam