2015-06-01 51 views
0

我试图在我的单个产品页上的表上显示我的自定义产品属性的详细信息。我可以得到产品差异SKU,但我似乎无法得到“标签”(我能做的最好的就是获得slu))。WooCommerce获取可变产品属性标签

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

<!-- ******* 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 ******* --> 

有谁知道我怎么能拉变量标签(不只是塞,用str_replace函数用空格替换破折号())?

回答

3

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

+0

这简直太尴尬了。实际上我很惭愧,我没有想到这一点。哈哈感谢您的帮助 – Ryan

-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; ?>