在产品下的WooCommerce>属性> [属性名称]>添加新的[属性变化]有一个标题为“描述”的部分,文本“默认情况下描述不突出;但是,某些主题可能会显示它。”
我想在属性下拉列表
下面的产品页面上显示此内容这就是我想要的样子:
这就是代码应该去的地方我假设:
<?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>';
}
谢谢
答案 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文件中起作用。