2014-06-09 26 views
6

Làm cách nào để có danh mục sản phẩm hiện tại mà người dùng đang duyệt qua?Woocommerce: Nhận danh mục sản phẩm hiện tại

Tôi đang cố gắng sử dụng get_the_terms($post->ID, 'product_cat'); nhưng điều này mang lại cho tôi các danh mục cho từng sản phẩm được liệt kê trên trang. Tôi muốn có được người dùng danh mục hiện tại đang duyệt qua, trang danh sách sản phẩm hiện tại.

Trả lời

8

Dưới đây là một liner:

$wp_query->get_queried_object()->term_id; 

hoặc

$wp_query->get_queried_object()->name; 

hoặc

... 
+1

mát lót. – KeepMove

+1

Tuyệt vời, điều này phù hợp với cả sản phẩm và danh mục bài và thuật ngữ. – JMRC

+1

'print_r ($ wp_query-> get_queried_object());' để xem tất cả các chỉ mục có sẵn - không chỉ 'term_id'. ví dụ: 'echo $ wp_query-> get_queried_object() -> name;' – aequalsb

3

thử điều này:

 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; 
1

Để lấy ID danh mục hiện tại. bạn phải sử dụng

get_queried_object(); 

Cách thích hợp để làm điều này là ..

$cate = get_queried_object(); 
$cateID = $cate->term_id; 
echo $cateID; 
Các vấn đề liên quan