Coding | Hooks und Filter | WordPress

WordPress: zusätzlichen Menüpunkt an einer bestimmten Menü-Position anfügen

ship 2090382 1920

Benutzerdefinierte Menüs kann es beliebig viele mit beliebigen Links geben, die dann an vom Theme vorgesehenen Positionen (wenn das nicht reicht, auch in Widgets) einsetzbar sind. Die Wiedergabe eines Menüpunkts von der Menü-Position im Theme abhängig zu machen (z.B. ein Herausgeberlink der nur an einer sekundären Menüposition dargestellt werden soll, oder ein Suchfeld in der Hauptmenüleiste etc.), erfordert hingegen die Anwendung eines Filters.

$items sind die bereits bestehenden Menüpunkte, die, wenn sie nicht überschrieben werden sollen, mit ausgegeben werden müssen, und ggf. alleine ausgegeben werden, wenn die Bedingung vor der die Erweiterung angehängt wird, nicht zutrifft.

Aus den $args des Menüobjektes geht unter anderem hervor, an welcher Menü-Position im Theme man sich befindet (unabhängig vom Namen des Menüs).
Würde man später das Menü im Footer gegen ein anderes tauschen, würde also diesem der zusätzliche Menüpunkt angehängt.

 function pptf_extend_footer_menu( $items, $args ) {
    /* wenn die location nicht der footer ist, menü unverändert wiedergeben */
    if ( $args->theme_location != 'footer' ) return $items;  
    
    $items .= printf( '<li><a href="%1$s" title="%2$s">%3$s</a></li>', 'https://gby.at', 'Webentwicklung', 'Herausgeber' ); 
    return $items;
}
add_filter( 'wp_nav_menu_items', 'pptf_extend_footer_menu', 10, 2 );

weiter schmökern

Schreibe einen Kommentar

Bitte Kommentarfunktion nicht für Supportanfragen nutzen. Dem kann hier nicht entsprochen werden.

Deine E-Mail-Adresse wird nicht veröffentlicht.