Woocommerce:获取当前的产品类别

Col*_*una 11 woocommerce

如何获取用户正在浏览的当前产品类别?

我试图使用,get_the_terms($post->ID, 'product_cat');但这给了我页面上列出的每个产品的类别.我想获取当前用户正在浏览的类别,当前的产品列表页面.

Eti*_*uis 13

这是一个班轮:

$wp_query->get_queried_object()->term_id;
Run Code Online (Sandbox Code Playgroud)

要么

$wp_query->get_queried_object()->name;
Run Code Online (Sandbox Code Playgroud)

要么

...
Run Code Online (Sandbox Code Playgroud)

  • `print_r( $wp_query->get_queried_object() );` 查看所有可用的索引——不仅仅是 `term_id`。示例:`echo $wp_query->get_queried_object()->name;` (3认同)

小智 8

获取当前类别ID。你必须使用

get_queried_object();
Run Code Online (Sandbox Code Playgroud)

正确的方法是..

$cate = get_queried_object();
$cateID = $cate->term_id;
echo $cateID;
Run Code Online (Sandbox Code Playgroud)


小智 7

试试这个 :

        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;
Run Code Online (Sandbox Code Playgroud)