Bạn không thể sử dụng get_category()
hoặc get_term()
trực tiếp với một ID ở mọi nơi. Bạn cần sử dụng thêm các đối số được liệt kê tại đây
(xem ví dụ bên dưới) . Về các mẫu, tôi nghĩ rằng điều đó cũng phụ thuộc vào các sản phẩm được hiển thị (Nếu chúng có danh mục hoặc danh mục phụ này).
Các chức năng WordPress hữu ích khác:
Để truy xuất tên danh mục dựa trên ID danh mục, bạn sẽ cần sử dụng get_the_category_by_ID()
.
Bạn cũng có thể truy xuất ID theo tên danh mục và bạn sẽ sử dụng get_cat_ID( 'cat_name' )
.
Liệt kê Danh mục sản phẩm và danh mục phụ với get_category()
(ví dụ) :
Đây là ví dụ về một hàm dựa trên chủ đề này , sẽ liệt kê tất cả các danh mục sản phẩm và danh mục phụ (ở mọi nơi) :
function products_cats_subcats(){
$taxonomy = 'product_cat';
$orderby = 'name';
$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 = '';
$empty = 0;
$args = array(
'taxonomy' => $taxonomy,
'orderby' => $orderby,
'show_count' => $show_count,
'pad_counts' => $pad_counts,
'hierarchical' => $hierarchical,
'title_li' => $title,
'hide_empty' => $empty
);
$all_categories = get_categories( $args );
echo '<ul>';
foreach ($all_categories as $cat) {
if($cat->category_parent == 0) {
$category_id = $cat->term_id;
echo '<li><a href="'. get_term_link($cat->slug, 'product_cat') .'">'. $cat->name .'</a></li>';
$args2 = array(
'taxonomy' => $taxonomy,
'child_of' => 0,
'parent' => $category_id,
'orderby' => $orderby,
'show_count' => $show_count,
'pad_counts' => $pad_counts,
'hierarchical' => $hierarchical,
'title_li' => $title,
'hide_empty' => $empty
);
$sub_cats = get_categories( $args2 );
echo '<ol>';
if($sub_cats) {
foreach($sub_cats as $sub_category) {
echo '<li><a href="'. get_term_link($sub_category->slug, 'product_cat') .'">' . $sub_category->name .'</a></li>';
}
}
echo '</ol>';
}
}
echo '</ul>';
}
Để sử dụng nó, chỉ cần đặt nó ở nơi bạn muốn: <?php products_cats_subcats() ;?>
Điều đó sẽ hiển thị tất cả các danh mục và danh mục phụ của bạn được sắp xếp theo thứ bậc theo Tên , với liên kết tương ứng cho từng danh mục hoặc danh mục con.
Sau đó, bây giờ bạn sẽ có thể xây dựng các chức năng của riêng mình, đáp ứng nhu cầu của bạn…
Tham khảo:
- Nhận danh mục từ Wordpress Woocommerce
- Tham chiếu mã> Chức năng> get_categories () *
- Tham chiếu mã> Hàm> get_terms () (và tất cả các đối số tùy chọn) *
- Tham chiếu mã> Hàm get_term_by ()