【问题标题】:WooCommerce get variable product attribute labelWooCommerce 获取可变产品属性标签
【发布时间】:2016-09-04 18:47:36
【问题描述】:

我正在尝试在我的单个产品页面的表格上显示我的自定义产品属性的详细信息。我可以获得产品变体 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() 用空格替换破折号)?

【问题讨论】:

    标签: wordpress woocommerce


    【解决方案1】:

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

    【讨论】:

    • 这太简单了。我真的很惭愧,我一开始没有想到这一点。大声笑感谢您的帮助
    • 我在 Woocommerce 中看不到任何可以定义为“简单”的东西。一个属性的完整数据结构,其中仍然没有标签。
    【解决方案2】:
        <?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; ?>
    

    【讨论】:

      猜你喜欢
      • 2019-03-08
      • 2019-04-30
      • 2018-03-17
      • 1970-01-01
      • 1970-01-01
      • 2019-04-04
      • 1970-01-01
      • 2018-07-18
      • 1970-01-01
      相关资源
      最近更新 更多