在产品页

时间:2018-01-23 17:21:23

标签: wordpress woocommerce

在产品下的WooCommerce>属性> [属性名称]>添加新的[属性变化]有一个标题为“描述”的部分,文本“默认情况下描述不突出;但是,某些主题可能会显示它。”

我想在属性下拉列表

下面的产品页面上显示此内容

这就是我想要的样子:

This is how I want it to look

这就是代码应该去的地方我假设:

<?php foreach ( $attributes as $attribute_name => $options ) : ?>
                    <tr>
                        <td class="label"><label for="<?php echo sanitize_title( $attribute_name ); ?>"><?php echo wc_attribute_label( $attribute_name ); ?></label></td>
                        <td class="value">
                            <?php
                                $selected = isset( $_REQUEST[ 'attribute_' . sanitize_title( $attribute_name ) ] ) ? wc_clean( $_REQUEST[ 'attribute_' . sanitize_title( $attribute_name ) ] ) : $product->get_variation_default_attribute( $attribute_name );
                                wc_dropdown_variation_attribute_options( array( 'options' => $options, 'attribute' => $attribute_name, 'product' => $product, 'selected' => $selected ) );
                            ?>
                        </td>
                    </tr>

                <?php endforeach;?>

有人在这里问过类似的东西,但我看不到如何修改它以显示在产品页面上。

$values = wc_get_product_terms( $product->id, $attribute['name'], array( 'fields' =>  'all' ) );
if( $values ){
    echo '<dl>';
        foreach ( $values as $term ){
            echo '<dh>' . $term->name.' </dh>';
            echo '<dd>' . term_description( $term->term_id, $term->taxonomy ) . '</dd>';
        }
    echo '</dl>';
}

谢谢

2 个答案:

答案 0 :(得分:0)

尝试使用单个属性名称获取属性值。

$values = wc_get_product_terms( $product->id, 'test_attributename', array( 'fields' =>  'all' ) );
if( $values ){
    echo '<dl>';
        foreach ( $values as $term ){
            echo '<dh>' . $term->name.' </dh>';
            echo '<dd>' . term_description( $term->term_id, $term->taxonomy ) . '</dd>';
        }
    echo '</dl>';
}

答案 1 :(得分:0)

如此处指定-term_description,您可以使用term_description()获取选择项的描述。

该函数接受两个参数,一个是标签的ID,另一个是要获取其描述的术语的标签。如果未传递任何术语ID,则将返回当前查询术语的描述。

该功能在product-attributes.php文件中起作用。