web-dev-qa-db-fra.com

WooCommerce: recherche des produits dans la base de données

Je crée un site Web à l'aide de WooCommerce et je souhaite limiter les produits disponibles aux utilisateurs en fonction du code postal saisi dans le formulaire de recherche de ma page d'accueil.

Pour y parvenir, je dois spécifier les conditions de chaque produit dans la base de données dans phpMyAdmin, mais je n'arrive pas à le trouver.

Est-ce que quelqu'un sait où se trouve la base de données woocommerce des produits et/ou des catégories dans phpmyAdmin?

Merci d'avance.

43
T.Doe

Les produits sont situés principalement dans 2 tables:

  • wp_posts table avec un post_type comme product ou product_variation,

  • Table wp_postmeta avec le post_id correspondant par produit (l'ID de produit).

Les types de produits, catégories, sous-catégories, balises, attributs et toutes les autres taxonomies personnalisées se trouvent dans les tableaux suivants:

  • wp_terms

  • wp_termmeta

  • wp_term_taxonomy

  • wp_term_relationships

  • wp_woocommerce_termmeta

  • wp_woocommerce_attribute_taxonomies (pour les attributs de produit uniquement)


Les types de produits sont gérés par la taxonomie personnalisée product_type avec les termes par défaut suivants:

  • simple
  • grouped
  • variable
  • external

Depuis Woocommerce 3+, une nouvelle taxonomie personnalisée nommée product_visibility gère:

  • La visibilité du produit avec les termes exclude-from-search et exclude-from-catalog
  • Les produits vedettes avec le terme featured
  • L'état du stock avec le terme outofstock
  • Le système de notation avec des termes de rated-1 à rated-5

Particularité: chaque attribut de produit est une taxonomie personnalisée…


Références:

75
LoicTheAztec

Les tables suivantes constituent la base de données des produits Store WooCommerce:

  • wp_posts -

    Les messages sont au cœur des données WordPress. Il est stocké un post_type comme produit ou variable_product.

  • wp_postmeta -

    Chaque publication contient des informations appelées métadonnées qui sont stockées dans wp_postmeta. Certains plugins peuvent ajouter leurs propres informations à cette table, comme le magasin de plugins WooCommerce product_id du produit dans la table wp_postmeta.

Catégories de produits, sous-catégories stockées dans cette table:

  • wp_terms
  • wp_termmeta
  • wp_term_taxonomy
  • wp_term_relationships
  • wp_woocommerce_termmeta

en suivant Requête Retourne une liste de catégories de produits

SELECT wp_terms.* 
    FROM wp_terms 
    LEFT JOIN wp_term_taxonomy ON wp_terms.term_id = wp_term_taxonomy.term_id
    WHERE wp_term_taxonomy.taxonomy = 'product_cat';

pour plus de référence -

7
Swapnali

En vrac ajouter de nouvelles catégories à Woo:

Insérer l'id de la catégorie, le nom, la clé de l'URL

INSERT INTO wp_terms 
VALUES
  (57, 'Apples', 'fruit-apples', '0'),
  (58, 'Bananas', 'fruit-bananas', '0');

Définir les valeurs de terme en tant que catégories

INSERT INTO wp_term_taxonomy 
VALUES
  (57, 57, 'product_cat', '', 17, 0),
  (58, 58, 'product_cat', '', 17, 0)

17 - est la catégorie parent, s'il en existe une

la clé ici est de s'assurer que la table wp_term_taxonomy term_taxonomy_id, term_id est égale à term_id de la table wp_term

Après avoir suivi les étapes ci-dessus, accédez à wordpress admin et enregistrez toute catégorie existante. Cela mettra à jour la base de données pour inclure vos catégories ajoutées en bloc

1
bsun1991

Je recommanderais d'utiliser champs personnalisés WordPress pour stocker les codes postaux éligibles pour chaque produit. add_post_meta () et pdate_post_meta sont ce que vous recherchez. Il n'est pas recommandé de modifier la structure de table par défaut WordPress. Tous les postmetas sont insérés dans la table wp_postmeta. Vous pouvez trouver les produits correspondants dans la table wp_posts.

0
Pranav