好的我正在尝试检索wordpress循环中显示的woocommerce产品的类别名称,并将其用作循环内部的li的类我试过这个:
<div id="isocontent" class="products">
<ul><?php while (have_posts()) : the_post(); ?>
<li class="<?php echo $product->get_categories(); ?> box">
<a href="<?php the_permalink(); ?>"><?php echo the_post_thumbnail(); ?></a>
<p><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p>
<a href="<?php the_permalink(); ?>"><span href="<?php the_permalink(); ?> " class="amount price" data-original="<?php echo get_woocommerce_currency(); ?><?php echo $product->get_price(); ?>" data-price="<?php echo $product->get_price(); ?>" title="Original price: <?php echo $product->get_price(); ?>"><?php echo get_woocommerce_currency(); ?><?php echo $product->get_price(); ?></span></a>
<a href="<?php the_permalink(); ?>?add-to-cart=<?php echo $post->ID ?>" class="pbutton">Add to Cart</a>
</li>
<?php endwhile; ?>
</ul>
</div>
这是我试图通过以下方式重温课程的部分:
<li class="<?php echo $product->get_categories(); ?> box">
但它只输出:
<li class="<a href=" http:="" localhost.no="" fanny="" kategori="" interior-sv="" "="" rel="tag">
确实检索了类别,但也用标记打破了循环。 我也试过这个:
<li <?php post_class('box'); ?>
但是因为woocommerce使用taxonmys它会重新标记标签而不是产品类别。 任何帮助都很有帮助 亲切的问候 克里斯
答案 0 :(得分:4)
这不像打一个电话那么容易 - get_categories()
旨在显示产品类别的HTML表示。产品类别实际上是自定义分类,因此您必须使用get_the_terms()
来获取它。
global $post;
$terms = get_the_terms( $post->ID, 'product_cat' );
foreach ( $terms as $term ){
$category_id = $term->term_id;
$category_name = $term->name;
$category_slug = $term->slug;
break;
}