Как получить количество запаса каждого варианта woocommerce - PullRequest
0 голосов
/ 08 ноября 2019

Я показываю варианты продукта в виде списка, а не раскрывающегося списка, используя приведенный ниже код (может помочь некоторым людям). То, что я пытаюсь добавить к этому, - это количество акций для каждого варианта.

Т.е. что-то вроде этого было бы идеальным для добавления.

<?php echo $product->get_stock_quantity(); ?>

Текущийкод, используемый для отображения вариаций в таблице / списке.

        global $product, $post;
        $variations = $product->get_available_variations();
        foreach ($variations as $key => $value) {
        ?>
        <form action="<?php echo esc_url( $product->add_to_cart_url() ); ?>"method="post" enctype='multipart/form-data'>
            <input type="hidden" name="variation_id" value="<?php echo $value['variation_id']?>" />
            <input type="hidden" name="product_id" value="<?php echo esc_attr( $post->ID ); ?>" />
            <?php
            if(!empty($value['attributes'])){
                foreach ($value['attributes'] as $attr_key => $attr_value) {
                ?>
                <input type="hidden" name="<?php echo $attr_key?>" value="<?php echo $attr_value?>">
                <?php
                }
            }
            ?>
            <table>
                <tbody>
                    <tr>
                        <td>
                            <b><?php echo implode('/', $value['attributes']);?></b>
                        </td>
                        <td>
                            <?php echo $value['price_html'];?>
                        </td>
                        <td>

                        </td>
                        <td>
                            <button type="submit" class="single_add_to_cart_button button alt"><?php echo apply_filters('single_add_to_cart_text', __( 'Add to cart', 'woocommerce' ), $product->product_type); ?></button>
                        </td>
                    </tr>
                </tbody>
            </table>
        </form>
        <?php
        }} ```

1 Ответ

0 голосов
/ 13 ноября 2019

Вы можете получить доступ к ассортименту продуктов со следующими данными:

<?php

global $product;


     if ( $product->is_type('variable') ) {

     foreach ( $product->get_visible_children() as $variation_id ) {

     //gets the product variation based on its id
     $get_product_variation = wc_get_product( $variation_id );

     //get each variations stock quantity
     $product_variation_stock = $get_product_variation->get_stock_quantity();

     //do whatever with variation stock
     echo '<p> Variation: ' . $variation_id . ' - Stock: ' . $product_variation_stock . '</p>';

     }
  }

 ?>

Надеюсь, это поможет! Проверено и работает. Удачи.

...