Füge mehrere classn hinzu. Unterschiedlicher Stil für jedes Kategorie-Tag

Die Ausgabe von ist

 my-category-name 

Ich möchte eine bestimmte class für jede Kategorie hinzufügen, damit ich sie in verschiedenen colors wie auf dieser Seite gestalten kann . Was ich suche ist:

    

und der Stil wäre:

 .post-category { margin: 0 0.1em; padding: 0.3em 1em; color: #fff; background: #999; } .post-category-alpha { background: #5aba59; } .post-category-beta { background: #4d85d1; } .post-category-gamma { background: #8156a7; } 

Das nächste, was ich finden konnte, war diese Antwort, aber es ist nur für eine class und sogar Google half nicht viel.

Vielleicht den Code hier ein bisschen ändern? Leider bin ich kein Programmierer.

Kann mir jemand in die richtige Richtung weisen, oder besser hier eine Lösung vorschlagen? Vielen Dank.

EDIT Fast da. Ich habe diese function geändert und sie in das Thema eingefügt

 <?php $categories = get_the_category(); $separator = ' '; $output = ''; if($categories){ foreach($categories as $category) { $output .= 'term_id ).'" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '" class="post-category post-category-'what do I put here?'">'.$category->cat_name.''.$separator; } echo trim($output, $separator); } ?> 

Welche Variable gebe ich nach class = “post-category post-category – ????”

Solutions Collecting From Web of "Füge mehrere classn hinzu. Unterschiedlicher Stil für jedes Kategorie-Tag"

Um eine bestimmte class mit Kategorie_zu jeder Kategorie hinzuzufügen, müssen Sie Ihren Code ein wenig hacken.

Es wird das gleiche Ergebnis ausgegeben, jedoch mit einer class, die jedem Element hinzugefügt wird. Der classnname ist der Kategorie-Slug .

In deinen functionen.php :

 add_filter('wp_list_categories', 'add_slug_class_wp_list_categories'); function add_slug_class_wp_list_categories($list) { $cats = get_categories('hide_empty=0'); foreach($cats as $cat) { $find = 'cat-item-' . $cat->term_id . '"'; $replace = 'cat-item-' . $cat->slug . ' cat-item-' . $cat->term_id . '"'; $list = str_replace( $find, $replace, $list ); $find = 'cat-item-' . $cat->term_id . ' '; $replace = 'cat-item-' . $cat->slug . ' cat-item-' . $cat->term_id . ' '; $list = str_replace( $find, $replace, $list ); } return $list; } 

Und dann, in Ihrer single.php , müssen Sie the_category () wiederholen mit:

 < ?php $sep = ''; foreach ((get_the_category()) as $cat) { echo $sep . '' . $cat->cat_name . ''; $sep = ', '; } ?> 

Ihr HTML wird wie folgt aussehen:

 category 1 category 2 

Und dann, in Ihrer CSS-Datei, müssen Sie nur einen Stil zu diesen classn hinzufügen. Beispielsweise:

 .category-slug{color: #000;} .category-slug-2{color: #FFF;} 

Ich hoffe, es hilft! Viel Spaß beim Programmieren. 🙂