Wie kann ich Text zu einem einzelnen Navigationsmenüelement hinzufügen?

Ich arbeite an einem Thema, bei dem der Endbenutzer die aktuelle performancessaison mithilfe eines benutzerdefinierten Admin-Steuerfelds festlegen muss, z. “2013/2014”, “2014/2015” usw., die ich mit get_option('current_season'); abrufen kann get_option('current_season');

Auf meinem benutzerdefinierten Nav-Menü habe ich eine Seite mit dem Titel “Season”, die das oben erwähnte Feld enthält, so dass es “2013/2014 Season” anstatt nur “Season” heißt.

Die Tutorials zu Walker, die ich mir angeschaut habe, scheinen nur Beispiele für das Hinzufügen einer class zu Menüelementen zu zeigen, aber ich muss zu einem Menüelement einen bestimmten Text hinzufügen. Wie kann ich das erreichen?

Solutions Collecting From Web of "Wie kann ich Text zu einem einzelnen Navigationsmenüelement hinzufügen?"

Sie können den wp_nav_menu_objects Filter wp_nav_menu_objects . Dies scheint zu funktionieren, aber nicht sicher, welche anderen Nebenwirkungen es haben könnte, werden Sie gründlich testen wollen.

 function wpa_filter_nav_menu_objects( $items ){ foreach( $items as $item ){ if( 'Season' == $item->title ){ $item->title = get_option('current_season') . ' Season'; } } return $items; } add_filter( 'wp_nav_menu_objects', 'wpa_filter_nav_menu_objects' ); 

Die meisten einzelnen Walker_Nav_Menu->start_el() für Menüpunkte finden in Walker_Nav_Menu->start_el()

Der Titel durchläuft Filter in diesem Teil des Codes:

 $item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after; 

Daher the_title Filter ” the_title es Ihnen ermöglichen, ihn zu ändern. Es ist jedoch etwas schwierig, genau zu implementieren, und hängt von Ihren spezifischen get_the_title() , da WP den gleichen Filter in der function get_the_title() für Titel im Allgemeinen verwendet.