我正在开发一个安装了Woocommerce插件的网站。我希望我的商店页面首先显示类别名称和然后显示该类别中的产品,然后显示其拥有的产品的下一个类别名称。
已经在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 );
答案 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)