我将Woocommerce用于Wordpress,并尝试更改产品属性的显示方式(product-attribute.php)。如您所见,这些值以td格式输出,每个项目用逗号分隔,但是我需要将它们放在无序列表中,而每个项目都放在一个单独的li中。 您能帮我吗?
<?php foreach ( $attributes as $attribute ) :
if ( empty( $attribute['is_visible'] ) || ( $attribute['is_taxonomy'] && ! taxonomy_exists( $attribute['name'] ) ) )
continue;
?>
<tr>
<th scope="row"><?php echo wc_attribute_label( $attribute->get_name() ); ?></th>
<?php
if ( $attribute['is_taxonomy'] ) {
$values = woocommerce_get_product_terms( $product->id, $attribute['name'], 'names' );
foreach ( $values as $value ) :
echo '<td>';
echo $value;
echo '</td>';
endforeach;
} else {
$values = array_map( 'trim', explode( '|', $attribute['value'] ) );
foreach ( $values as $value ) :
echo '<td>';
echo $value;
echo '</td>';
endforeach;
}
?>
</tr>
<?php endforeach; ?>
现在我有
<td>item1, item2, item3</td>
但理想情况下,我需要的是
<li>item1</li>
<li>item2</li>
<li>item3</li>
非常感谢您的帮助!
答案 0 :(得分:0)
您去哪里
<ul>
<?php foreach ( $attributes as $attribute ) :
if ( empty( $attribute['is_visible'] ) || ( $attribute['is_taxonomy'] && ! taxonomy_exists( $attribute['name'] ) ) ) {
continue;
}
?>
<p><?php echo wc_attribute_label( $attribute->get_name() ); ?></p>
<?php
if ( $attribute['is_taxonomy'] ) {
$values = woocommerce_get_product_terms( $product->id, $attribute['name'], 'names' );
foreach ( $values as $value ) :
echo '<li>';
echo $value;
echo '</li>';
endforeach;
} else {
$values = array_map( 'trim', explode( '|', $attribute['value'] ) );
foreach ( $values as $value ) :
echo '<li>';
echo $value;
echo '</li>';
endforeach;
}
?>
<?php endforeach; ?>
</ul>
我只是将您代码中的<td>
替换为<li>
,并添加了<ul>
而不是<tr>
,我也将<th>
修改为{{1} }