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

使用get_时,_terms()不会返回应用于电子商务产品的特定父类别的子术语

司寇望
2023-03-14

经过无数次尝试和大约50篇文章,我得出结论,这是不可能的,除非有一个巫师愿意从他们的咒语书中撕下一页。

在产品页面上,我希望获取当前产品ID并将其传递给get_the_terms()函数,该函数还提供分类“product_cat”,并最终指定父类别。

在我们传递的父类别中,只选择了一个子类别。所以这应该只返回一个术语。

我想这样做:

$terms = get_the_terms( the_ID(), 'product_cat', array( 'parent' => 84 ) );
foreach ($terms as $term) {
    $termID = $term->term_id;
    $name   = $term->name;
    $slug   = $term->slug;

    echo $name;
}

然而,这返回了大量的结果,我尝试了一系列其他类似的查询,但这将很容易是最美丽的,如果有人可以透露一些信息,那将是伟大的!

共有1个答案

娄浩荡
2023-03-14

简单地get\u the_terms()不允许额外的参数,而是使用wp\u get\u post\u terms()并且您应该使用get\u ID()而不是the_ID()类似的方法

$terms = wp_get_post_terms( get_the_id(), 'product_cat', array( 'parent' => 84 ) );

它现在应该能更好地工作了。

 类似资料:
  • 我在一家Woocommerce商店工作,该商店的产品按父类别(如品牌、颜色、大小等)组织。这些顶级类别中的每一个都有许多子类别:例如,颜色的子类别包括红色、蓝色、粉色等。 客户希望在首页和归档页的网格/循环视图中,在每个产品缩略图下方显示每个产品的品牌和尺寸(产品是鞋)。 每个产品只有一个品牌,但可能有多种尺寸。 因此,本质上,我需要知道是否有一种方法可以只显示单个产品的特定子类别的标题,如下所示

  • 我无法将产品属性添加到新订单电子邮件中。我已经将下面的代码片段添加到email-order-items.php(在//SKU..part之后),但是什么也没有发生。甚至滴度“位置:”也不可见。有什么想法吗?

  • 所以我决定为我的Woocommerce商店提供两个不同的模板。 我发现了一个很好的小片段,它基本上告诉我编辑taxonomy-product_cat。php 我的所有店铺页面都是分类/归档页面。我父母的分类中,每只有50只猫。 因此,我的代码在taxonomy-product_cat中如下所示。php: 问题是archive-product.php只适用于“户外家具”类别,而不是其子类别。 我知道

  • 我试图在Woocommerce的当前子类别下显示子类别,比如这个网站。 我有2个家长类别“产品”和“部门”。然后我有一个菜单链接,可以同时访问两者。 当我在“产品”中时,我想看到子类别的图片,类别的标题,然后是所有子类别的标题和链接。 例如,父类别是“产品”,施工是子类别,密封剂 密封胶 这里有一个屏幕截图可以更好地解释它:

  • 我正试图通过WoodPress主题中的一个函数从woocommerce获取产品类别,我已经做到了: 这将按层次列出所有顶级类别及其下的子类别,但我有子类别(子类别)的子类别,因此如何列出这些子类别。

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