X

Come limitare il numero di elementi del menu in WordPress

Snippet di IsItWP

Stai cercando un modo per limitare il numero di voci di menu? Sebbene esista probabilmente un plugin per questo, abbiamo creato un rapido snippet di codice che puoi utilizzare per limitare il numero di voci di menu in WordPress.

Se il tuo tema utilizza wp_nav_menu per richiamare un menu impostato da un utente nella tua Posizione Tema, ma vuoi limitare il numero massimo di voci di menu di primo livello, allora questo codice è esattamente ciò di cui hai bisogno.

Ad esempio: abbiamo testato un tema che supporta i menu e ha una posizione tema "mainmenu" per richiamare un menu come menu principale / navigazione superiore del sito. Ma a causa del design / CSS (larghezza fissa), c'è spazio solo per un massimo di 7 voci nel livello superiore di qualsiasi menu richiamato.

Questa soluzione utilizza un filtro per farlo su qualsiasi tema WordPress tu scelga di utilizzare.

Istruzioni:

Tutto quello che devi fare è aggiungere questo codice al file functions.php del tuo tema o in un plugin specifico per il sito:

<?php
add_filter( 'wp_nav_menu_objects', 'mytheme_menufilter', 10, 2 );
function mytheme_menufilter($items, $args) {
	// want our MAINMENU to have MAX of 7 items
	if ( $args->theme_location == 'mainmenu' ) {
		$toplinks = 0;
		foreach ( $items as $k => $v ) {
			if ( $v->menu_item_parent == 0 ) {
				// count how many top-level links we have so far...
				$toplinks++;
			}
			// if we've passed our max # ...
			if ( $toplinks > 7 ) {
				unset($items[$k]);
			}
		}
	}
	return $items;
}
?>

Nota: Se questa è la prima volta che aggiungi snippet di codice in WordPress, consulta la nostra guida su come aggiungere correttamente snippet di codice in WordPress, in modo da non compromettere accidentalmente il tuo sito.

Se ti è piaciuto questo snippet di codice, prendi in considerazione la possibilità di consultare i nostri altri articoli sul sito come: 9 migliori plugin WordPress per immobili e Come proteggere i tuoi moduli WordPress.

Commenti   Lascia una risposta

  1. ciao. Ho alcuni menu che dovrebbero apparire generalmente. Ma ho anche un menu, chiamato 'Editor' solo per essere mostrato agli Editori in wordpress. questo sarà definito da un campo chiamato wpum_relationship_to_lib che è un campo a scelta multipla che include diverse opzioni come: editor, studente, impiegato e così via. le persone possono essere 2 o 3 o solo una alla volta. ma è importante che una delle opzioni scelte dall'utente sia "editor" per accedere al menu "Editor". Ho scritto del codice su una piattaforma di test e ho rimosso il menu per i non editor e anche prima del login e funziona, ma sulla piattaforma principale con le modifiche richieste non funziona. mi potresti guidare per favore?

  2. Grazie, era quello che mi serviva.

  3. allora questo codice è esattamente ciò di cui hai bisogno.

    Quale codice?

    1. Ciao Brad,
      Ho appena aggiornato il post con lo snippet.

Aggiungi un commento

Siamo lieti che tu abbia scelto di lasciare un commento. Tieni presente che tutti i commenti sono moderati secondo la nostra normativa sulla privacy e tutti i link sono nofollow. NON utilizzare parole chiave nel campo del nome. Avviamo una conversazione personale e significativa.

Checklist per il lancio di WordPress

La Guida Definitiva per il Lancio di WordPress

Abbiamo raccolto tutti gli elementi essenziali della checklist per il lancio del tuo prossimo sito web WordPress in un comodo ebook.
Sì, Inviami l'eBook Gratuito!