【发布时间】:2025-11-22 08:40:02
【问题描述】:
如何获取用户正在浏览的当前产品类别?
我正在尝试使用get_the_terms($post->ID, 'product_cat');,但这给了我页面上列出的每个产品的类别。我想获取 当前类别 用户正在浏览的当前产品列表页面。
【问题讨论】:
标签: woocommerce
如何获取用户正在浏览的当前产品类别?
我正在尝试使用get_the_terms($post->ID, 'product_cat');,但这给了我页面上列出的每个产品的类别。我想获取 当前类别 用户正在浏览的当前产品列表页面。
【问题讨论】:
标签: woocommerce
这是一个单行:
$wp_query->get_queried_object()->term_id;
或
$wp_query->get_queried_object()->name;
或
...
【讨论】:
print_r( $wp_query->get_queried_object() ); 查看所有可用的索引——不仅仅是term_id。例如:echo $wp_query->get_queried_object()->name;
获取当前类别 ID。 你必须使用
get_queried_object();
这样做的正确方法是..
$cate = get_queried_object();
$cateID = $cate->term_id;
echo $cateID;
【讨论】:
试试这个:
global $post;
$terms = get_the_terms( $post->ID, 'product_cat' );
$nterms = get_the_terms( $post->ID, 'product_tag' );
foreach ($terms as $term ) {
$product_cat_id = $term->term_id;
$product_cat_name = $term->name;
break;
}
echo $product_cat_name;
【讨论】:
顺便说一句,您可以创建简码 [show_product_category_id],它将显示产品的类别 ID。例如,在浏览某个产品类别时,它会显示此 id。您可以打开主题的functions.php并添加:
add_shortcode( 'show_product_category_id', 'show_product_category_id' );
function show_product_category_id() {
$cat = get_queried_object();
$catID = $cat->term_id;
echo $catID;
}
【讨论】: