繁体   English   中英

Woocommerce 从产品页面获取类别 id

[英]Woocommerce get category id from product page

我正在尝试为 Woocommerce 创建自定义动态菜单,看来我被卡住了。 要将我的类别标记为活动,我需要我目前所在页面的类别 ID。

如果我在一个类别中,我会得到这样的 id:

  if (is_product_category()) {
      global $wp_query;
      $curent_Cat_ID = $wp_query->get_queried_object()->term_id;
  } 

但它不会在产品页面上显示任何内容。 有没有办法在产品页面上获取类别 ID? 我能找到的东西不再起作用了。 或者以某种方式获得一个带有 ID 的像面包屑这样的数组?

好的,睡个好觉,最终我找到了答案。 如果有人在这里需要它,它是:

       if ( is_tax( 'product_cat' ) ) {
            $current_cat   = get_queried_object_id();
            $cat_ancestors = get_ancestors( $current_cat, 'product_cat' );

        } elseif ( is_singular( 'product' ) ) {
            $terms = wc_get_product_terms(
                get_queried_object_id(),
                'product_cat',
                apply_filters(
                    'woocommerce_product_categories_widget_product_terms_args',
                    array(
                        'orderby' => 'parent',
                        'order'   => 'DESC',
                    )
                )
            );

            if ( $terms ) {
                $main_term     = apply_filters( 'woocommerce_product_categories_widget_main_term', $terms[0], $terms );
                $current_cat   = $main_term->term_id;
                $cat_ancestors = get_ancestors( $main_term->term_id, 'product_cat' );
            }
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM