Hàm get sub category sản phẩm

By | Tháng Ba 2, 2020

Nếu bạn cần get tên sub category sản phẩm của 1 category nào đó để chèn vào 1 trang (ví dụ trang chủ).

Hãy sử dụng hàm sau chèn vào functions.php của theme đang dùng:

//Hàm get danh mục con
function mh_product_subcategories( $args) {
    extract($args);
    $IDbyNAME = get_term_by('name', $cat, 'product_cat');
    $product_cat_ID = $IDbyNAME->term_id;
    $args = array(
        'hierarchical' => 1,
        'show_option_none' => '',
        'hide_empty' => 0,
        'parent' => $product_cat_ID,
        'taxonomy' => 'product_cat',
        'orderby' => 'date',
        'order' => 'ASC'
    );    
    $list .= '<ul class="wooc_sclist">';
    $subcats = get_categories($args); 
    foreach ($subcats as $sc) {
        $link = get_term_link( $sc->slug, $sc->taxonomy );
        $list .= '<li><a href="'. $link .'">'.$sc->name.'</a></li>';
    } // end foreach
    $list .= '</ul>';
    return $list;
}
add_shortcode('sub_cat','mh_product_subcategories');

Cách sử dụng: Chèn  shortcode sau vào nơi muốn hiển thị [sub_cat cat="tên category cha"]

Vài điểm lưu ý:

  • Hàm này áp dụng cho sản phẩm woocommerce. Nếu các bạn muốn áp dụng cho loại khác hãy thay thế ‘taxonomy’ => ‘product_cat’ trong hàm trên thành loại taxonomy mình cần dùng
  • Đoạn cat="tên category cha" trong shortcode là tên category bạn cần lấy sub cat
  • Hiển thị ở đây mặc định là dạng list sổ dọc (ul – li), nếu bạn muốn hiển thị hàng ngang hoặc kiểu nào khác thì chịu khó css

Chúc các bạn thành công!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *