woocommerce将类别名称作为div类?

时间:2013-04-16 15:37:50

标签: wordpress class woocommerce

好的我正在尝试检索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="&lt;a href=" http:="" localhost.no="" fanny="" kategori="" interior-sv="" "="" rel="tag">

确实检索了类别,但也用标记打破了循环。 我也试过这个:

<li <?php post_class('box'); ?>

但是因为woocommerce使用taxonmys它会重新标记标签而不是产品类别。 任何帮助都很有帮助 亲切的问候 克里斯

1 个答案:

答案 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; 
}