Căutați o modalitate de a limita numărul de elemente din meniu? Deși probabil există un plugin pentru asta, am creat un fragment de cod rapid pe care îl puteți folosi pentru a limita numărul maxim de elemente din meniu în WordPress.
Dacă tema dvs. folosește wp_nav_menu pentru a prelua un meniu setat de un utilizator în Locația temei, dar doriți să limitați numărul maxim de elemente din meniul de nivel superior, atunci acest cod este exact ceea ce aveți nevoie.
De exemplu: Am testat o temă care suportă meniuri și are o locație de temă „mainmenu” pentru a prelua un meniu ca meniu principal / navigare superioară pe site. Dar, din cauza designului / CSS (lățime fixă), există spațiu doar pentru maximum 7 elemente în nivelul superior al oricărui meniu care este preluat.
Această soluție folosește un filtru pentru a face acest lucru pentru orice temă WordPress pe care alegi să o folosești.
Instrucțiuni:
Tot ce trebuie să faceți este să adăugați acest cod în fișierul functions.php al temei dvs. sau într-un plugin specific site-ului:
<?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;
}
?>
Notă: Dacă aceasta este prima dată când adăugați fragmente de cod în WordPress, consultați ghidul nostru despre cum să adăugați corect fragmente de cod în WordPress, pentru a nu vă defecta accidental site-ul.
Dacă ți-a plăcut acest fragment de cod, te rugăm să iei în considerare și celelalte articole de pe site, cum ar fi: Cele mai bune 9 pluginuri imobiliare pentru WordPress și Cum să-ți securizezi formularele WordPress.
Salut. Am niște Meniuri care ar trebui să apară în general. Dar am și un singur Meniu, numit „Editor”, care să fie afișat doar pentru Editori în WordPress. Acesta va fi definit de un câmp numit wpum_relationship_to_lib, care este un câmp cu alegeri multiple, incluzând diferite opțiuni precum: editor, student, angajat și așa mai departe. Persoanele pot fi 2 sau 3 sau doar una singură în același timp. Dar este important ca una dintre opțiunile alese de utilizator să fie „editor” pentru a accesa Meniul „Editor”. Am scris niște coduri pe o platformă de testare și am dezactivat meniul pentru non-editori și, de asemenea, înainte de autentificare și funcționează, dar pe platforma principală cu modificările necesare nu funcționează. M-ai putea ghida, te rog?
Mulțumesc, asta era ce îmi trebuia.
> atunci acest cod este exact ceea ce ai nevoie.
Ce cod?
Salut Brad,
Tocmai am actualizat postarea cu fragmentul.