X

Como limitar a quantidade de itens de menu no WordPress

Snippets by IsItWP

Você está procurando uma maneira de limitar a quantidade de itens de menu? Embora provavelmente exista um plug-in para isso, criamos um trecho de código rápido que você pode usar para limitar a quantidade de itens de menu no WordPress.

Se o seu tema usa wp_nav_menu para puxar um menu que um usuário definiu em seu Theme Location, mas você deseja limitar o número máximo de itens de menu de nível superior, esse código é exatamente o que você precisa.

Por exemplo: Testamos um tema que oferece suporte a menus e tem um local de tema “mainmenu” para puxar um menu como menu principal/navegação superior no site. Mas, devido ao design/CSS (largura fixa), só há espaço para um máximo de 7 itens no nível superior de qualquer menu que seja puxado.

Essa solução usa um filtro para fazer isso em qualquer tema do WordPress que você escolher usar.

Instruções:

Tudo o que você precisa fazer é adicionar esse código ao arquivo functions.php do seu tema ou em um plug-in específico do site:

<?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;
}
?>

Observação: Se esta é a primeira vez que você adiciona trechos de código no WordPress, consulte nosso guia sobre como adicionar corretamente trechos de código no WordPress, para não danificar seu site acidentalmente.

Se você gostou desse snippet de código, considere dar uma olhada em nossos outros artigos no site, como: 9 melhores plug-ins imobiliários do WordPress e Como proteger seus formulários do WordPress.

Comentários   Deixe uma resposta

  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.

Adicionar um comentário

Ficamos felizes por você ter optado por deixar um comentário. Lembre-se de que todos os comentários são moderados de acordo com nossa política de privacidade, e todos os links são nofollow. NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.

WordPress Launch Checklist

A lista de verificação definitiva para o lançamento do WordPress

Compilamos todos os itens essenciais da lista de verificação para o lançamento de seu próximo site WordPress em um ebook prático.
Sim, envie-me o livro eletrônico gratuito grátis!