Come WooCommerce memorizza gli attributi delle variazioni e come possono essere recuperati per variazione?
13 set 2013, 01:51:56
Visualizzazioni: 26K
Voti: 9
Sto cercando di estrarre un elenco di variazioni di prodotto da un'installazione WooCommerce, con i loro attributi - qualcosa del genere:
id prodotto id variazione nome colore taglia
5 1234 costume blu 10
5 1235 costume blu 12
5 1236 costume blu 14
5 1237 costume rosso 10
Posso ottenere l'ID della variazione, l'ID del prodotto e il nome del prodotto in questo modo:
<?php
// Ottieni le variazioni
$args = array( 'post_type' => 'product_variation');
$variationloop = new WP_Query( $args );
while ( $variationloop->have_posts() ) : $variationloop->the_post();
// ottieni il genitore di ogni variazione
$parent = get_post($post->post_parent);
// il prodotto genitore è attivo?
if ($parent->post_status=="publish")
{
$parentid=$post->post_parent;
echo $parentid; // prodotto
echo $id; // id variazione
echo $parent->post_title; // nome prodotto
}
?>
Quello che non riesco a capire, però, è come WooCommerce collega una variazione a un attributo, come la taglia. Se faccio questo:
$sizes = get_the_terms($parentid ,'pa_size');
foreach ( $sizes as $size ) {
echo $size->name;
}
posso ottenere tutte le taglie in cui il prodotto potrebbe essere disponibile, ma non riesco a trovare come recuperare la taglia associata solo alla variazione 1234.

Victoria
230
Commenti
Tutte le risposte alla domanda
1
1
Gli attributi sono memorizzati nella tabella wp_term_relationships.
Esempio:
+--------------+-------------------+-------------------+
| object_id | term_taxonomy_id | term_taxonomy_id |
+--------------+-------------------+-------------------+
| 91 | 48 | 0 |
+--------------+-------------------+-------------------+
Il prodotto 91 ha un attributo con ID 48

Pablo S G Pacheco
357
20 set 2013 23:57:02
Domande correlate
1
risposte
3
risposte
2
risposte