2014-06-10 30 views
5

Tôi đang truy cập archive-products.php trên woocommerce để hiển thị sản phẩm của mình (như quy trình bình thường trong woocommerce).woocommerce cách lấy danh mục hiện tại

Trên trang lưu trữ-products.php Tôi đã thêm thanh bên với tất cả các danh mục sản phẩm mà cửa hàng của tôi có (có hoặc không có sản phẩm). Tôi đã sử dụng mã sau để làm như vậy:

$taxonomy = 'product_cat'; 
$orderby = 'ID'; 
$show_count = 0;  // 1 for yes, 0 for no 
$pad_counts = 0;  // 1 for yes, 0 for no 
$hierarchical = 1;  // 1 for yes, 0 for no 
$title = '<h2>' . _x('Our Products', 'mfarma') . '</h2>'; 
$hide_empty = 0; 

$args = array(
    'taxonomy' => $taxonomy, 
    'orderby' => $orderby, 
    'order' => 'ASC', 
    'show_count' => $show_count, 
    'pad_counts' => $pad_counts, 
    'hierarchical' => $hierarchical, 
    'title_li' => $title, 
    'hide_empty' => $hide_empty 
); 
?> 

<ul> 
    <?php wp_list_categories($args); ?> 
</ul> 

Bây giờ, bên trái của trang có thanh bên trên và bên phải có sản phẩm. Trong mỗi loại sản phẩm, tôi đã thêm một mô tả nhỏ với định dạng html mà tôi muốn hiển thị khi người dùng đã nhấp vào danh mục. Theo woocommerce khi bạn đi đến một danh mục cụ thể (trong trường hợp của tôi, http://localhost/product-category/mycategory) nó vẫn là archive-products.php.

Tôi đang cố gắng lấy term_id từ liên kết được nhấp, nhưng vòng lặp (và bài đăng toàn cầu $) chỉ cho tôi sản phẩm đầu tiên của danh sách thay vì danh mục mà tôi cần. Vì vậy, nếu một danh mục có sản phẩm bằng không, tôi không thể có được số term ID. Làm cách nào để nhận ID thuật ngữ đó từ archive-products.php?

Trả lời

12

Tìm câu trả lời cho một mục khác nhưng cũng áp dụng cho câu hỏi của tôi.

add_action('woocommerce_archive_description', 'woocommerce_category_description', 2); 

function woocommerce_category_description() { 
    if (is_product_category()) { 
     global $wp_query; 
     $cat = $wp_query->get_queried_object(); 
     echo "CAT IS:".print_r($cat,true); // the category needed. 
    } 
} 
+0

Và bạn đặt nơi này? – 3Dom

+1

Trong functions.php cho chủ đề, hoặc trong một plugin.php nếu bạn đang làm một cái gì đó chung chung hơn và bạn cần nó. – Panagiotis

+0

Tôi cũng muốn hiển thị hình ảnh với HTML cụ thể của tôi, Bạn vui lòng giải thích điều này có thể thông qua hành động hoặc tôi phải sử dụng một số truy vấn trong archive-products.php –

2

Bạn có thể làm điều đó đơn giản hơn:
Print hiện tại thể loại:

single_cat_title(); // this prints your current category 

Get hiện chuỗi danh mục:

single_cat_title('', false); // this returns your current category 
echo single_cat_title('', false); // for print current category 
Các vấn đề liên quan