当前位置: 首页 > 知识库问答 >
问题:

在基于父级的WooCommerce产品上显示特定产品子类别标题

松旻
2023-03-14

我在一家Woocommerce商店工作,该商店的产品按父类别(如品牌、颜色、大小等)组织。这些顶级类别中的每一个都有许多子类别:例如,颜色的子类别包括红色、蓝色、粉色等。

客户希望在首页和归档页的网格/循环视图中,在每个产品缩略图下方显示每个产品的品牌和尺寸(产品是鞋)。

每个产品只有一个品牌,但可能有多种尺寸。

因此,本质上,我需要知道是否有一种方法可以只显示单个产品的特定子类别的标题,如下所示:

[Product Thumbnail here]
[Price info here]
Brand: Nike
Size(s): 8, 8.5, 9

我只需要字幕,而不是链接。我知道解决这个问题的方法可能需要在content-product.php中调用get_terms()函数,但是我还没有弄清楚如何只列出产品的特定子类别。

我要寻找的代码基本上会说:

If this product is in the Brand category,
    Then show its subcategory.

If this product is in the Size category,
    Then show its subcategories.

共有1个答案

马银龙
2023-03-14

检查此链接:

https://developer.wordpress.org/reference/functions/get_terms/

并将此代码粘贴到您的店铺页面中

global $product; 

// Get product attributes
$attributes = $product->get_attributes();

if ( ! $attributes ) {
    echo "No attributes";
}

foreach ( $attributes as $attribute ) {

        echo $attribute['name'] . ": ";
        $product_attributes = array();
        $product_attributes = explode('|',$attribute['value']);

        $attributes_dropdown = '<select>';

        foreach ( $product_attributes as $pa ) {
            $attributes_dropdown .= '<option value="' . $pa . '">' . $pa . '</option>';
        }

        $attributes_dropdown .= '</select>';

        echo $attributes_dropdown;
}
 类似资料:
  • 我目前正在使用以下代码获取WooCommerce产品类别: 当前显示所有类别,但我希望仅显示子类别。 例如,如果您在“类别1”页面上,则该页面应仅显示该类别中的所有子级。 我在这里看过很多例子,但都找不到适合我需要的东西。

  • 在WooCommerce中,我试图显示一个基于定义的运输类更新的运输徽章。 我遇到的问题是,当我有一个变量产品,变量有不同的类。我需要根据选择更新徽章。 例如,当一个可变产品有一个单一和纸箱选项,而单一有一个10类,纸箱有一个大块1类时,我需要在纸箱从选项中选择时更新徽章。 我不知道如何获得变体装运类别,而不是单一产品装运类别。 以下是我取得的成绩:

  • 我正在与woocommerce建立电子商务网站。我在父类别下划分了子类别。我上传每个子类别的产品,不仅选择子类别,还选择父类别。但是,当我单击父类别时,我看不到任何产品。我只能在子类别中看到。例如,我有“手表”

  • 我有一个名为“产品类型”的WooCommerce产品类别,我试图列出该类别下的所有类别,但不是这些类别的子类别。例如,我有: 产品类型 碳化物米尔斯 钓鱼工具 儿童类别 我希望它列出“电石磨坊”和“打捞工具”,但不是“儿童类别”。 这是我的代码: 但它仍然返回“儿童类别”。我不知道为什么将深度限制为“1”并将“include_children”设置为“false”不能解决这个问题。

  • 我似乎在为木业的某些东西而苦苦挣扎。 我已经创建了一个单一的产品页面模板,当前显示产品的特色图像在页面顶部的横幅。 但我想我得先找到分类?我不确定从这里到哪里去。 如果有任何帮助,我们将不胜感激。