X

Cómo limitar la cantidad de elementos de menú en WordPress

Snippets by IsItWP

¿Está buscando una manera de limitar la cantidad de elementos de menú? Si bien es probable que haya un plugin para esto, hemos creado un fragmento de código rápido que puede utilizar para limitar la cantidad de elementos de menú en WordPress.

Si su tema utiliza wp_nav_menu para tirar de un menú que un usuario establece en su Ubicación Tema, pero desea limitar el número máximo de elementos de menú de nivel superior, entonces este código es exactamente lo que necesita.

Por ejemplo: Hemos probado un tema que soporta menús, y tiene un tema “mainmenu” ubicación para tirar de un menú como el mainmenu / top nav en el sitio. Pero debido al diseño / CSS (ancho fijo), sólo hay espacio para un máximo de 7 elementos en el nivel superior de cualquier menú que se tira pulg

Esta solución utiliza un filtro para hacer eso a cualquier tema de WordPress que elija utilizar.

Instrucciones:

Todo lo que tienes que hacer es añadir este código al archivo functions.php de tu tema o en un plugin específico del sitio:

<?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: Si es la primera vez que añades fragmentos de código en WordPress, consulta nuestra guía sobre cómo añadir correctamente fragmentos de código en WordPress, para no romper accidentalmente tu sitio.

Si le gustó este fragmento de código, por favor considere revisar nuestros otros artículos en el sitio como: 9 mejores plugins inmobiliarios de WordPress y Cómo asegurar tus formularios de WordPress.

Comentarios   Deja una respuesta

  1. hello. I have some Menus should be appeared generally. But I have one Menu too, named ‘Editor’ just to be shown for Editors in wordpress. this will be defined by a field named wpum_relationship_to_lib which is a multiple choices field including different options like: editor, student, employee and so on. people can be 2 or 3 or just one at the same time. but it is important that one the options the user chose must be “editor” to access the Menu “Editor”. I wrote some codes in a test platform and unset the menu for non-editors an also before log-in and it works but in the main platform with required changes it does not. would you guide me please?

  2. Thanks, that’s what I needed.

  3. > then this code is exactly what you need.

    What code?

    1. Hey Brad,
      I just updated the post with the snippet.

Añadir un comentario

Nos alegra que haya decidido dejar un comentario. Tenga en cuenta que todos los comentarios se moderan de acuerdo con nuestra política de privacidad , y que todos los enlaces son nofollow. NO utilice palabras clave en el campo del nombre. Tengamos una conversación personal y significativa.

WordPress Launch Checklist

La lista definitiva para lanzar WordPress

Hemos recopilado todos los elementos esenciales de la lista de comprobación para el lanzamiento de su próximo sitio web de WordPress en un práctico ebook.
Sí, envíeme el ¡gratuito!