Woocommerce商店页面显示类别名称和;显示该类别中的产品

时间:2014-09-23 07:15:38

标签: wordpress woocommerce

我正在开发一个安装了Woocommerce插件的网站。我希望我的商店页面首先显示类别名称和然后显示该类别中的产品,然后显示其拥有的产品的下一个类别名称。 Screenshot

已经在google&在这里,找到了解决方案,但这不是我想要的。它在每个产品的价格区域之后添加了类别名称。我不是专业人士,因此很难解决这个问题。

function wc_category_title_archive_products(){

    $product_cats = wp_get_post_terms( get_the_ID(), 'product_cat' );

    if ( $product_cats && ! is_wp_error ( $product_cats ) ){

        $single_cat = array_shift( $product_cats ); ?>

        <small class="product_category_title"><?php echo $single_cat->name; ?></small>

<?php }
}
add_action( 'woocommerce_after_shop_loop_item', 'wc_category_title_archive_products', 5 );

3 个答案:

答案 0 :(得分:0)

您必须为每个类别执行新的循环/查询。我们可以使用WordPress的get_categories函数自动执行某些过程。这是一个例子::

<?php    
    $cat_args = array(
        'parent' => '0',
        'taxonomy' => 'product_cat'
    );
    $categories = get_categories( $cat_args );

    foreach ($categories as $category) { ?>      
        <ul class="product-category">
            <?php
                $args = array( 'post_type' => 'product', 'posts_per_page' => 1, 'cat' => $category->cat_ID, 'orderby' => 'rand' );
                $loop = new WP_Query( $args );
                while ( $loop->have_posts() ) : $loop->the_post(); global $product; ?>

                    <!-- Your output -->

            <?php endwhile; ?>
            <?php wp_reset_query(); ?>
        </ul>
    }
?> 

答案 1 :(得分:0)

<?php    
    $cat_args = array(
        'parent' => '0',
        'taxonomy' => 'product_cat'
    );
    $categories = get_categories( $cat_args );

    foreach ($categories as $category) { 
        echo $category->cat_name;
        echo do_shortcode('[product_category category="'.$category->cat_name.'" per_page="12" columns="4" orderby="date" order="DESC"]'); 
    }
?> 

答案 2 :(得分:0)

在商店页面的标题上方显示产品类别名称==>检查Woocomerce版本3.5.3,您只需复制它并将其粘贴到主题函数中即可。php

before(:context)