2014-10-02 12 views
6

Sto tentando di aggiungere la categoria padre di un prodotto da Woocommerce come tag di classe a wordpress 'body.Aggiungi categoria padre Woocommerce a WP classe 'body'

Ogni volta che vado in una categoria secondaria, la categoria principale non è più all'interno della classe body.

Potrebbe essere modificato qualcosa di simile per trovare la categoria padre e aggiungere all'interno del tag del corpo?

Forse un termine come "product_parent_cat"? Abbiamo provato questo e cercato loro API, ma senza successo ..

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'); 

risposta

7

Si può provare questa modifica (non testata):

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'); 

per aggiungere le lumache categoria di prodotti genitore alla classe corpo.

Qui viene utilizzata la proprietà parent del termine oggetto restituito dalla funzione get_term().

+0

grazie! azzeccato. – blkedy

+0

@ user1420650 Felice di sentire che ha funzionato per te. – birgire

+0

Notizie dal 2017. Ancora lavorando su Woocommerce 3.0+ e Wordpress 4.8 –

Problemi correlati