Hallo zusammen,
ich habe eine categorie hierarchie: publikation -> bücher -> genre 1, genre2, genre3, ... wobei bücher untercat von publickation und genre1 bis gen3 untercats von bücher sind, welche als individuelle Menu_Liste im Backend anglegt ist.
folgende aufgabe: da ich die einzelnen genres der bücher nur dan auflisten möchte , wenn eines der
genres oder bücher oder publikation geklickt ist sonnst aber nicht, habe ich ein individuelles menu im backend erstellt (menu_library)
laut codex würde ich folgenden code schreiben:
if (is_category(11) || ... ||) {gib aus}
problem -> da sich die liste erweitert und ich mehr als 20 categorien evtl haben kann, kann ich unmöglich alle 20 oder mehr cat() auflisten und die dynamic würde flöten gehen, da ich sonnst den code immer erweitern muss.
meine Idee war es ein Array anzulegen in welches ich all die genres der menu_library speicher und bei match mit gecklickter category auf die es zutrifft die liste der genres ausgebe in der sidebar.
$menu_name = 'nav_library'; /* Get the nav menu based on $menu_name (same as 'theme_location' or 'menu' arg to wp_nav_menu)*/
if ( ( $locations = get_nav_menu_locations() ) && isset( $locations[ $menu_name ] ) ) {
$menu = wp_get_nav_menu_object( $locations[ $menu_name ] );
$menu_items = wp_get_nav_menu_items($menu->term_id);
$stack = array(); /* array in dem ich die liste speichern möchte*/
foreach ( (array) $menu_items as $key => $menu_item ) {
$title = $menu_item->title;
array_push($stack, $title);
}
$categoryTitleAktuell = single_cat_title(); // aktuell gecklickte Kategorie
$num = count($stack); /* grösse des arrays mit den gespeicherten liste der library*/
for($i = 0; $i<=$num; $i++){
/*Ab der folgenden zeile wird aber mein $categoryTitleAktuell nicht erkannt oder nicht übergeben?*/
if($categoryTitleAktuell === $stack[$i]){
echo 'match';
}
else{echo 'no match'; }}
//print_r($stack);
}
Alles anzeigen
Das Array ist da und wird auch ausgegeben, leider exisstiert $categoryTitleAktuell nicht und somit
bekomme ich keinen match obwohl ich die entsprechende category angeklickt habe. deklariere ich $categoryTitleAktuell ausserhalb wird mir der name auch ausgegeben aber leider nicht in der for schleife erkannt.
hat jemand von euch eine idee wie ich das richtig machen kann? oder wo mein denkfehler liegt?
thnx. m.