Fügen Sie der WP-Klasse „body“ die übergeordnete Woocommerce-Kategorie hinzu

Lesezeit: 1 Minute

Benutzer-Avatar
blöd

Ich versuche, die übergeordnete Kategorie eines Produkts aus Woocommerce als Klasse zu WordPress hinzuzufügen. body Schild.

Jedes Mal, wenn ich in eine untergeordnete Kategorie gehe, befindet sich die übergeordnete Kategorie nicht mehr in der body Klasse.

Könnte etwas wie unten bearbeitet werden, um die übergeordnete Kategorie zu finden und innerhalb des Body-Tags hinzuzufügen?

Vielleicht ein Begriff wie “product_parent_cat”? Habe dies versucht und ihre API durchsucht, aber kein Erfolg.

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

Benutzer-Avatar
Birgire

Sie können diese Modifikation ausprobieren (ungetestet):

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

um die Slugs der übergeordneten Produktkategorie zur Body-Klasse hinzuzufügen.

Hier verwenden wir die parent -Eigenschaft des Begriffsobjekts, das von zurückgegeben wird get_term() Funktion.

  • Neuigkeiten aus 2017. Arbeite immer noch an Woocommerce 3.0+ und WordPress 4.8

    – Juan Bonnett

    1. September 2017 um 3:31 Uhr

1382530cookie-checkFügen Sie der WP-Klasse „body“ die übergeordnete Woocommerce-Kategorie hinzu

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy