Hinzufügen der aktuellen class zum abgefragten Term im Taxonomie-Termarchiv

Ich verwende derzeit get_terms, um Begriffe einer bestimmten Taxonomie aufzulisten. Ich möchte dem Begriff, der gerade abgefragt wird, über die Archivvorlage eine class hinzufügen.

Ich habe versucht, den untenstehenden Code zusammenzustellen, aber das führt bizarr dazu, dass die class nicht nur auf den aktuellen Begriff, sondern auch auf jeden weiteren Begriff angewendet wird. Ich habe versucht, die Slugs, IDs und Namen von $ term und $ currentterm zu vergleichen – alle korrekt ausgegeben.

$terms = get_terms('MYTAX'); $currentterm = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) ); foreach ($terms as $term) { if($currentterm->slug == $term->slug) $class = "live"; echo '
  • slug .'">' . $term->name . '
  • '; }

    Solutions Collecting From Web of "Hinzufügen der aktuellen class zum abgefragten Term im Taxonomie-Termarchiv"

    Versuchen Sie es stattdessen:

     $terms = get_terms('MYTAX'); $currentterm = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) ); foreach ($terms as $term) { $class = $currentterm->slug == $term->slug ? 'live' : '' ; echo '
  • ' . $term->name . '
  • '; }

    Im Grunde müssen Sie nur Ihre $class Variable zurück auf eine leere Zeichenfolge zurücksetzen, nachdem Ihre Bedingung falsch zurückgegeben hat, andernfalls bleibt es weiterhin wahr. Es scheint seltsam, aber sobald Sie wissen, wie man damit umgeht, ist alles gut.