Menu balk maken per vereniging
-
Hallo,
Ik ben opzoek naar de mogelijkheid om een menubalk te maken welke alleen getoond word als de pagina URL = /plaatselijke-zaken/hartvooracht
Ik heb een menu gemaakt met de naam “hartvooracht”
en bevat de pagina’s welke in het main menu getoond worden, maar jammer genoeg nergens anders
Op de voorbeeld pagina heb ik zelf een oplossing gemaakt, handmatig
maar als de stichting een extra pagina maakt, moet ik weer alles aanpassen
ik wil andere verenigingen ook op deze manier een landings pagina geven met een eigen menuWie weet raad?
Hans KS
De pagina waar ik hulp bij nodig heb: [log in om de link te zien]
-
Je zou hiervoor een custom nav walker kunnen gebruiken. Deze walker toont dan alleen de onderliggende pagina’s.
Voeg deze code toe aan je functions.php bestand:
class Theme_Walker_Secondary_Nav extends Walker_Nav_Menu { private $active = false; public function __construct() { add_filter( 'wp_nav_menu', array( $this, 'nav_menu' ), 10, 2 ); } public function nav_menu( $nav_menu, $args ) { if ( $args->walker === $this ) { $content = strip_tags( $nav_menu ); if ( empty( $content ) ) { return ''; } else { return $nav_menu; } } return $nav_menu; } private function is_active( $depth ) { return $depth > 0 && $this->active; } public function start_lvl( &$output, $depth = 0, $args = array() ) { if ( $this->is_active( $depth ) ) { parent::start_lvl( $output, $depth ); } } public function end_lvl( &$output, $depth = 0, $args = array() ) { if ( $this->is_active( $depth ) ) { parent::end_lvl( $output, $depth ); } } public function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) { if ( 0 === $depth ) { $classes = array( 'current-menu-item', 'current-menu-parent', 'current-menu-parent', 'current-menu-ancestor', ); do { $class = array_shift( $classes ); $this->active = in_array( $class, $item->classes, true ); } while ( ! $this->active && ! empty( $classes ) ); } if ( $this->is_active( $depth ) ) { parent::start_el( $output, $item, $depth, $args ); } } public function end_el( &$output, $item, $depth = 0, $args = array() ) { if ( $this->is_active( $depth ) ) { parent::end_el( $output, $item, $depth, $args ); } } }
Roep het menu vervolgens zo aan:
wp_nav_menu( array( 'theme_location' => 'secondary', 'walker' => new Theme_Walker_Secondary_Nav(), ) );
Het secundaire menu kan er vervolgens zo uit zien:
– Eerste gemeente
– Eerste item
– Tweede item
– Derde item
– Tweede gemeente
– Eerste item
– Tweede itemAls je de pagina ‘Tweede gemeente’ bezoekt wordt in dit geval alleen ‘eerste item’ en ’tweede item’ getoond.
- Deze reactie is gewijzigd 6 jaren, 7 maanden geleden door Karel-Jan Tolsma.
- Deze reactie is gewijzigd 6 jaren, 7 maanden geleden door Karel-Jan Tolsma.
- Deze reactie is gewijzigd 6 jaren, 7 maanden geleden door Karel-Jan Tolsma.
- Het onderwerp ‘Menu balk maken per vereniging’ is gesloten voor nieuwe reacties.