Woocommerce - 在产品标题上方显示产品类别

Posted

技术标签:

【中文标题】Woocommerce - 在产品标题上方显示产品类别【英文标题】:Woocommerce - Display product category above product title 【发布时间】:2018-06-14 23:03:41 【问题描述】:

我试图在主商店页面、产品类别页面、单个产品页面和购物车上的每个产品标题上方显示特定类别。

以下图中的 Shopfront 为例,我想在这些闪光灯的标题上方显示“Nikon”。产品有多个类别(尼康、闪光灯、相机设备等),但我只想在标题上方显示品牌(尼康)。商店内有多个品牌(佳能、尼康、索尼等),因此需要在标题上方显示正确的品牌,具体取决于产品的制造商。

如何以编程方式在标题上方添加“品牌”类别?我在想我可以在产品循环中调用与每个产品相关的类别列表,但是以某种方式将哪些类别列入白名单或在代码中手动指定允许在前端输出哪些类别。

我在 Google 上对此进行了相当深入的搜索,但找不到任何能让我朝着正确方向前进的东西。

提前致谢。

【问题讨论】:

您可以将“A type flash”设置为“Nikon”类别的子类别。 我将无法始终将品牌设为父类别。有没有办法只显示某些类别而忽略所有其他类别?这样它就不会依赖作为父类的类别来实现所需的结果。 【参考方案1】:

这段代码应该可以解决你的问题。你可以在functions.php中添加这段代码。我测试并确认它对我有用。

function category_single_product()

    $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 ); ?>

        <h2 itemprop="name" class="product_category_title"><span><?php echo $single_cat->name; ?></span></h2>

<?php 

add_action( 'woocommerce_before_shop_loop_item_title', 'category_single_product', 25 );

【讨论】:

感谢您的代码 - 我如何控制输出哪个类别?如前所述,产品有多个类别,所以我需要一种只显示某些类别的方法。我只想输出品牌类别(佳能、尼康、索尼等)。 您可以将Canon、Nikon、Sony类别创建为父类别,然后父类别显示在标题上方。所有其他类别设置为子类别。 我将无法始终将品牌设为父类别。有没有办法只显示某些类别而忽略所有其他类别?这样它就不会依赖作为父类的类别来实现所需的结果。

以上是关于Woocommerce - 在产品标题上方显示产品类别的主要内容,如果未能解决你的问题,请参考以下文章

在 WooCommerce 产品标题之前显示自定义分类

Woocommerce产品缩略图位置

在产品标题下方显示 woocommerce 产品属性 slug

显示自定义字段打击产品标题 Woocommerce 产品单页

Woocommerce 产品标签(显示其他产品)

使用产品插件选择框显示产品价格 WooCommerce