首页 > 解决方案 > 隐藏空类别 WooCommerce 不工作

问题描述

在这方面,我绝不是 WooCommerce 或 PHP 最有经验的人。我需要遍历类别并显示所有产品。我不知道为什么,但是“隐藏空=> true”不起作用。这是我到目前为止所拥有的:

<?php 
            $args = array(
    'taxonomy'   => "product_cat",
    'orderby'    => $orderby,
    'order'      => $order,
    'parent' => 0,
    'hide_empty' => true

);
$product_categories = get_terms($args);
foreach( $product_categories as $cat ) { ?>
<?php $thumbnail_id = get_woocommerce_term_meta( $cat->term_id, 'thumbnail_id', true ); ?>
<div class="category-wrap">
    <a href="<?php echo get_term_link($cat)?>">
        <div class="category-img" style="background-image: url('<?php echo wp_get_attachment_url( $thumbnail_id ); ?>')" >  
            <div class="shop-now">
                <h5>Shop Now</h5>
            </div>
        </div>
    </a>
    <p style="text-align:center;"><strong><?php echo $cat->name;?></strong></p>
</div><?php } ?>

任何帮助将不胜感激!谢谢你。

标签: phpwordpresswoocommercehook-woocommerce

解决方案


我也是 WooCommerce 的初学者,但我最近做了类似的事情,这可能会有所帮助,因为我注意到您正在选择顶级类别,即 parent = 0。

<?php
  // get top level categories (these have parent id == 0)
  $top_level_categories = woocommerce_get_product_subcategories(0);
  
  foreach($top_level_categories as $top_level_category) {
    ?>
      <h2><?php echo $top_level_category->name ?></h2>
      <ul class="products columns-<?php echo wc_get_default_products_per_row() ?>">
    <?php woocommerce_output_product_categories(array("parent_id" => $top_level_category->term_id)); ?>
      </ul>
    <?php
  }

不显示空类别。


推荐阅读