2014-10-02 14 views
6

Bir ürünün ana kategorisini Woocommerce sınıfından 'wordpress' body etiketine eklemek istiyorum.WP 'body' sınıfına Woocommerce ana kategorisini ekleyin

Her alt öğe kategorisine girdiğimde üst kategori artık body sınıfında değil.

Üst kategoriyi bulmak ve gövde etiketine eklemek için aşağıdaki gibi bir şey düzenlenebilir mi?

Belki de "product_parent_cat" gibi bir terim? Bu çalıştı ve onların API ama hiçbir başarı ..

function woo_custom_taxonomy_in_body_class($classes){ 
    $custom_terms = get_the_terms(0, 'product_cat'); 
    if ($custom_terms) { 
     foreach ($custom_terms as $custom_term) { 
     $classes[] = 'product_cat_' . $custom_term->slug; 
     } 
    } 
    return $classes; 
} 

add_filter('body_class', 'woo_custom_taxonomy_in_body_class'); 

cevap

7

Sen (denenmemiş) bu değişikliği deneyebilirsiniz arandı:

function woo_custom_taxonomy_in_body_class($classes){ 
    $custom_terms = get_the_terms(0, 'product_cat'); 
    if ($custom_terms) { 
     foreach ($custom_terms as $custom_term) { 

     // Check if the parent category exists: 
     if($custom_term->parent > 0) { 
      // Get the parent product category: 
      $parent = get_term($custom_term->parent, 'product_cat'); 
      // Append the parent class: 
      if (! is_wp_error($parent)) 
       $classes[] = 'product_parent_cat_' . $parent->slug; 
     } 

     $classes[] = 'product_cat_' . $custom_term->slug; 
     } 
    } 
    return $classes; 
} 

add_filter('body_class', 'woo_custom_taxonomy_in_body_class'); 

vücut sınıfına ana ürün kategorisi salyangozlar ekleyin.

Burada get_term() işlevinin döndürdüğü terim nesnesinin parent özelliğini kullanıyoruz.

+0

Teşekkürler! başarmak. – blkedy

+0

@ user1420650 İşe yaradığını duyduğuma sevindim. – birgire

+0

Haberler 2017'den. Hala güncelleme @JuanBonnett için Woocommerce 3.0+ ve Wordpress 4.8 –

İlgili konular