[英]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.