web-dev-qa-db-fra.com

Fonction permettant de définir le type de produit dans Woocommerce

J'essaie d'ajouter un produit d'abonnement avec une fonction personnalisée dans WooCommerce. Je peux ajouter un produit simple avec le post_meta, mais je ne peux pas définir le product_type pour ce produit.

Est-ce que quelqu'un connaît la fonction pour enregistrer product_type dans WooCommerce?

2
Peter

J'ai compris cela, pour définir le product_type , au lieu d'utiliser update_post_meta() , vous utilisez:

wp_set_object_terms ($ productID, 'subscription', 'product_type');

4
Peter

J'ai donc jeté un œil dans le tableau wp-terms. Je devais être capable de déterminer le type de produit du point de vue SQL. Spécifiquement pour faire la distinction entre les types de produits variables et simples.

Ensuite, vous devez vous battre avec les tables wp_term_relationships et wp_term_taxonomy pour tout lier. C'est plus un indice de blues qu'une solution complète. Je n'ai pas encore écrit d'instruction SQL.

0
Murrance

En retard, mais peut être utile pour de nouvelles recherches: Le type de produit est stocké dans wp_term_relationship. Vous pouvez trouver dans la table wp_terms les noms "simple, groupé, variable, etc.", et obtenir leur term_id.

Voici un exemple SQL que j'ai utilisé pour définir tous les produits déjà définis sur variable (10) sur simple (8):

UPDATE wp_term_relationships
LEFT JOIN wp_posts ON(wp_term_relationships.object_id = wp_posts.ID)
SET wp_term_relationships.term_taxonomy_id = 8
WHERE wp_posts.post_type = 'product'
AND wp_term_relationships.term_taxonomy_id = 10
0
FranQ