Je suis coincé essayer de créer une requête qui me renvoie les paramètres:requête SQL pour obtenir tous les produits, les catégories et les données méta WooCommerce/wordpress
ID, post_title, post_content, catégorie, ID_category, SKU, nom, stock, prix
A ce moment, j'ai ceci:
SELECT
p.ID,
p.post_title,
`post_content`,
`post_excerpt`,
t.name AS product_category,
t.slug AS product_slug,
tt.term_taxonomy_id AS tt_term_taxonomia,
tr.term_taxonomy_id AS tr_term_taxonomia,
MAX(CASE WHEN pm1.meta_key = '_price' then pm1.meta_value ELSE NULL END) as price,
MAX(CASE WHEN pm1.meta_key = '_regular_price' then pm1.meta_value ELSE NULL END) as regular_price,
MAX(CASE WHEN pm1.meta_key = '_sale_price' then pm1.meta_value ELSE NULL END) as sale_price,
MAX(CASE WHEN pm1.meta_key = '_sku' then pm1.meta_value ELSE NULL END) as sku
FROM wp_posts p LEFT JOIN wp_postmeta pm1 ON (pm1.post_id = p.ID)
LEFT JOIN wp_term_relationships AS tr ON (tr.object_id = p.ID)
LEFT JOIN wp_term_taxonomy AS tt ON (tt.taxonomy = 'product_cat' AND tr.object_id = tt.term_taxonomy_id)
LEFT JOIN wp_terms AS t ON (t.term_id = tt.term_id)
WHERE p.post_type in('product', 'product_variation') AND p.post_status = 'publish' AND p.post_content <> ''
GROUP BY p.ID,p.post_title
et il me donne correctement les produits et les méta-données, mais il est très difficile pour moi d'obtenir l'ID de catégorie et le nom de la catégorie dans ce requête et je n'ai pas été en mesure de trouver des informations sur le net.
Merci.
Voici le modèle de base de données - où est exactement une colonne appelée ID de catégorie? https://github.com/woocommerce/woocommerce/wiki/Database-Description - Quelles colonnes voulez-vous? – Hogan
Salut @Hogan, merci pour votre réponse. Toutes les informations sur les produits sont stockées dans la base de données Wordpress en tant que messages. https://codex.wordpress.org/Database_Description – superTramp
Eh bien, toutes les informations de terme/taxonomie seraient dans 'wp_terms' et peut-être aussi' wp_term_taxonomy' et 'wp_term_relationships'. Quel est votre raisonnement pour cette requête? Il y a probablement un meilleur moyen qu'une simple requête SQL. WordPress a ses propres fonctions (comme 'get_posts()') et WooCommerce a une [API] (https://woocommerce.github.io/woocommerce-rest-api-docs/) – helgatheviking