Catégories
Développement PHP Tutoriel Wordpress

Woocommerce, créer un produit en PHP

Dans ce tutoriel, nous allons voir comment créer un produit Woocommerce en PHP.

Je me suis retrouvé dans un cas où je devais générer des articles avec de nombreux champs de manière automatisé et l’interface Woocommerce d’import avait ses limites (import des images et d’attributs).

Créer un produit

La création d’un produit est simple, c’est le même fonctionnement que pour la création d’un post en général sous WordPress. Si vous voulez rajouter un contenu (du texte), ajoutez ‘post_content’ => ‘votre texte’ dans le tableau ci-dessous.

// Création de l'article et récupération de son ID
$postId = wp_insert_post([
    'post_title' => 'nom article',
    'post_type' => 'product',
    'post_status' => 'publish'
]);

L’intérêt du $postId est que généralement on va faire des manipulations sur le nouveau produit. On pourra charger le produit sous forme d’objet avec la fonction wc_get_product().

Créer une catégorie

La logique est similaire à celle de la création d’un produit. Je montre aussi comment affecter cette catégorie à un produit.

Pour moi, la catégorie d’un produit si on part sur l’exemple du matériel informatique serait : Clavier, Souris, etc…

// Création de la catégorie et récupération de son ID
$categoryId = wp_insert_term('Ma catégorie', 'product_cat', ['slug' => 'ma-categorie']);

// Récupération du produit
$product = wc_get_product($postId);

// Affecter une catégorie
$product->set_category_ids($categoryId);

// Sauvegarde des modifications
$product->save();

Créer un attribut

Je vais parler de la création d’attributs globaux des produits. On peut par exemple créer un attribut de type couleur :

$attributeId = wc_create_attribute([
    'name' => 'color',
    'slug' => $slug,
    'type' => 'select',
    'order_by' => 'menu_order',
    'has_archives' => FALSE,
]);

Aller plus loin

Pour intégrer ce code custom dans un plugin, vous pouvez consulter le tutoriel sur la création d’un plugin WordPress. Si vous avez des questions sur des éléments qui ne sont pas présents dans le tutoriel, n’hésitez pas à mettre un commentaire pour les poser.

Par Shinochi

Développeur Web Fullstack expert Drupal 8, et otaku par la même occasion.

Passionné par le japon, je partage quelques critiques sur les animes et mangas que j'ai regardé.
Je développe des jeux sur Unity3D à mes heures perdue.

2 réponses sur « Woocommerce, créer un produit en PHP »

Alors dans l’idée, on pourrait même le faire avec l’objet CRUD WC_Product.

Ça permet d’avoir une approche plus clean à mon sens, et surtout, plus durable (l’objet restera avec Woo, alors que si demain le nom du type de post change, où la manière de les enregistrer en BDD … C’est le bazar )

Exemple :

$product = new WC_Product_Simple();
$product->save();

Source : https://woocommerce.com/document/developing-using-woocommerce-crud-objects/

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.