在归档页面上隐藏父产品类别链接

时间:2020-05-14 12:01:08

标签: php wordpress woocommerce hook-woocommerce

我正在建立一个具有多个类别和子类别的WP电子商务网站。在存档页面上,每个产品在产品标题下都印有产品类别标题。因此,一种产品分为两类-版画和摄影。印刷品适合儿童摄影-我想从档案页面隐藏父级标题,但仅当父级标题时才隐藏。它还在html中的它们之间打印出一个“,”,我必须将其删除。

实现此目标的最佳方法是什么?

使用的主题是:Atelier

enter image description here

content-product.php中的PHP,它在posted_in元素内显示类别标题:

<div class="product-details">
    <?php do_action( 'woocommerce_before_shop_loop_item_title' ); ?>
    <h3><a href="<?php esc_url(the_permalink()); ?>"><?php the_title(); ?></a></h3>
    <?php
        $product_id = method_exists( $product, 'get_id' ) ? $product->get_id() : $product->id;
        echo wc_get_product_category_list( $product_id, ', ', '<span class="posted_in">', '</span>' ); 
    ?>
    <div class="product-desc">
        <?php echo wp_kses_post($product_description); ?>
    </div>

    <?php
        /**
         * woocommerce_after_shop_loop_item_title hook
         *
         * @hooked woocommerce_template_loop_price - 10
         */
        do_action( 'woocommerce_after_shop_loop_item_title' );
    ?>

</div>

1 个答案:

答案 0 :(得分:1)

即使在管理端未选中父类别,WooCommerce也会在父类别下列出子类别产品。

enter image description here

因此,我建议避免在产品单页中列出父类别(摄影),而仅在后端检查子类别(打印)。 WooCommerce处理在父类别下列出子产品的过程。

enter image description here

其他信息:

您必须了解平面与分层类别。我的偏好始终是平面层次结构,因为如果您要导出产品并导入另一个电子商务系统,它将不会像WordPress那样保持分类逻辑,因此,如果您使用平面类别,则可以避免出现新的问题系统在导入产品时仅考虑父类别。

例如:

在WooCommerce中,这是我们的层次结构

cat-a
  --prod-a1
  --prod-a2
  --cat-b
      --Prod-b1

如果我们将其同步以进行电子商务,则意味着它将仅考虑父类别 因此它将像这样导入

cat-a
  --prod-a1
  --prod-a2
  --Prod-b1

它将忽略子类别,这就是WooCommerce也更愿意不检查父类别而仅检查产品类别的原因。