WooCommerce获得可变产品属性标签

时间:2015-06-01 22:54:30

标签: wordpress woocommerce

我正在尝试在单个产品页面的表格中显示自定义产品属性的详细信息。我可以得到产品变化SKU,但我似乎无法获得“标签”(我能做的最好的就是获得slug)。

这是我目前正在使用的代码:

<!-- ******* START PRODUCT VARIABLE TABLE SECTION ******* -->
<?php
global $woocommerce, $product, $post;

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

  $available_variations = $product->get_available_variations();

  // START CHECK IF VARIATIONS ARE PRESENT
  if ( $available_variations ) :

  $attributes = $product->get_attributes();
?>

<div class="row">
    <div class="small-12 column">
        <table class="varations-table">
            <thead>
                <tr>
                    <th class="small-4">ORDER #</th>
                    <th class="small-5">DESCRIPTION</th>
                    <th class="small-3">UOM</th>        
                </tr>
            </thead>

            <tbody>

            <?php foreach ($available_variations as $prod_variation) : ?>

                <?php
                    // get some vars to work with
                    $post_id = $prod_variation['variation_id'];
                    $post_object = get_post($post_id);
                ?>
                <tr>
                    <td><?php echo $prod_variation['sku']; ?></td>

                <?php foreach ($prod_variation['attributes'] as $attr_name => $attr_value) : ?>
                    <td><?php echo $attr_value; ?></td>
                <?php endforeach;?>

                    <td class="uom"><?php echo the_field( 'uom' ); ?></td>

                </tr>
            <?php endforeach;?>
            </tbody>
        </table>
    </div>
</div>

<?php
    // END CHECK IF VARIATIONS ARE PRESENT
    endif;
endif;
?>
<!-- ******* END PRODUCT VARIABLE TABLE SECTION ******* -->

有没有人知道如何拉变量标签(不仅仅是slug,用str_replace()替换空格用空格?)

2 个答案:

答案 0 :(得分:4)

如果你有slug,你可以使用get_taxonomy() function获得一个WordPress分类对象。因此,要获得WooCommerce自定义属性的标签,您只需执行get_taxonomy($attribute_slug)->labels->name

答案 1 :(得分:-1)

    <?php if ( $product->is_type( 'variable'  )) : ?>
                <div class="size">
                    <span class="name-size">SIZE</span>
                    <span class="value-size">
                        <?php
                        $attr = get_post_meta($post->ID, '_product_attributes', true);
                        echo $attr['size']['value'];
                        ?>
                    </span>
                </div>
            <?php endif; ?>