X

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

Snippets de IsItWP

¿Está buscando una forma de limitar la cantidad de elementos del menú? Si bien probablemente exista un plugin para esto, hemos creado un fragmento de código rápido que puede usar para limitar la cantidad de elementos del menú en WordPress.

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

Por ejemplo: Probamos un tema que admite menús y tiene una ubicación de tema llamada "mainmenu" para mostrar un menú como el menú principal / la barra de navegación superior del sitio. Pero debido al diseño / CSS (ancho fijo), solo hay espacio para un máximo de 7 elementos en el nivel superior de cualquier menú que se muestre.

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

Instrucciones:

Todo lo que tienes que hacer es agregar este código al archivo functions.php de tu tema o a 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 agregas fragmentos de código en WordPress, consulta nuestra guía sobre cómo agregar fragmentos de código correctamente en WordPress, para que no rompas accidentalmente tu sitio.

Si te gustó este fragmento de código, considera echar un vistazo a nuestros otros artículos en el sitio como: Los 9 mejores plugins inmobiliarios de WordPress y Cómo proteger tus formularios de WordPress.

Comentarios   Deja una respuesta

  1. Hola. Tengo algunos menús que deberían aparecer generalmente. Pero también tengo un menú llamado 'Editor' solo para que lo vean los Editores en WordPress. Esto se definirá por un campo llamado wpum_relationship_to_lib, que es un campo de opción múltiple que incluye diferentes opciones como: editor, estudiante, empleado, etc. Las personas pueden ser 2 o 3 o solo una a la vez. Pero es importante que una de las opciones que el usuario eligió sea "editor" para acceder al Menú "Editor". Escribí algunos códigos en una plataforma de prueba y eliminé el menú para los no editores e incluso antes del inicio de sesión, y funciona, pero en la plataforma principal con los cambios requeridos no lo hace. ¿Podría guiarme, por favor?

  2. Gracias, eso es lo que necesitaba.

  3. > entonces este código es exactamente lo que necesita.

    ¿Qué código?

    1. Hola Brad,
      Acabo de actualizar la publicación con el fragmento.

Agrega un comentario

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

Lista de verificación para lanzar WordPress

La lista de verificación definitiva para lanzar WordPress

Hemos recopilado todos los elementos esenciales de la lista de verificación para el lanzamiento de tu próximo sitio web de WordPress en un práctico ebook.
¡Sí, envíame el eBook gratis!