Как Woocommerce хранит вариационные атрибуты и как их можно извлекать для каждой вариации? [закрыто]

Я пытаюсь вытащить список вариантов продукта из установки Woocommerce с их атрибутами - что-то вроде этого:

product id  variationid    name      color  size
5           1234           swimsuit  blue   10
5           1235           swimsuit  blue   12
5           1236           swimsuit  blue   14
5           1237           swimsuit  red    10

Я могу получить идентификатор вариации и идентификатор продукта, а также название продукта:

<?php
// Get the variations
$args = array( 'post_type' => 'product_variation');
$variationloop = new WP_Query( $args );
while ( $variationloop->have_posts() ) : $variationloop->the_post();
// get the parent of each variation
$parent = get_post($post->post_parent); 
// is the parent product live? 
if ($parent->post_status=="publish")
{
$parentid=$post->post_parent;
 echo $parentid;  // product
 echo $id; // variation id
 echo $parent->post_title;  // product name
}
?>

Что я не могу понять, так это то, как Woocommerce связывает вариацию с атрибутом, например размером. Если я это сделаю:

 $sizes = get_the_terms($parentid ,'pa_size');
 foreach ( $sizes as $size ) {
   echo $size->name;
 }

, тогда я могу получить все размеры, в которых может быть доступен продукт, но я не могу найти способ получить размер, связанный с вариантом 1234.

7 голосов | спросил Victoria 13 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 13 Sep 2013 02:51:56 +0400 2013, 02:51:56

1 ответ


0

Атрибуты хранятся в wp_term_relationships.

Пример:

+--------------+-------------------+-------------------+
| object_id    | term_taxonomy_id  | term_taxonomy_id  |
+--------------+-------------------+-------------------+
| 91           | 48                | 0                 |
+--------------+-------------------+-------------------+

Продукт 91 имеет атрибут 48

ответил Pablo S G Pacheco 21 stEurope/Moscowp30Europe/Moscow09bEurope/MoscowSat, 21 Sep 2013 00:57:02 +0400 2013, 00:57:02

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132