Incluir itens no menu do WordPress pode ser algo bastante simples dependendo do que o desenvolvedor precisa. Ao invés de criar um “Walker” customizado e modificar todo o menu, é possível simplesmente utilizar o hook wp_nav_menu_items para incluir itens no começo ou no final do menu principal.

Por exemplo, suponhamos que eu queira adicionar um link manualmente no começo do menu do WordPress para algo relevante, por exemplo, ícones ou links de redes sociais, formulário de pesquisa ou coisas do tipo.

Ficaria mais ou menos assim:

add_filter( 'wp_nav_menu_items', 'teo_add_menu_item', 10, 2 );
function teo_add_menu_item ( $items, $args ) {

	// Antes
    $novos  = '<li><a href="#">Um item qualquer</a></li>';
    $novos .= '<li><a href="#">Outro item qualquer</a></li>';
    $novos .= '<li><a href="#">Outro item qualquer</a></li>';
    $novos .= '<li><a href="#">Outro item qualquer</a></li>';

    // Insere os novos itens
    $items = $novos . $items;

    // Retorna
    return $items;
}

Claro que você pode utilizar sua super criatividade de desenvolvedor para criar coisas incríveis com o trecho de código acima. Ele adiciona itens no início do menu.

Se você tem interesse em adicionar algo no final do menu, simplesmente utilize o seguinte:

// Adiciona um formulário de pesquisa no final do menu
add_filter( 'wp_nav_menu_items', 'teo_add_menu_item', 10, 2 );
function teo_add_menu_item ( $items, $args ) {
    $form_action = get_bloginfo('url');

    // Depois
    $items .= '<li>
	<a class="teo-search-form-icon" href="#"><i class="fa fa-search"></i></a>

	<div class="sub-menu teo-nav-form">
	<form action="' . $form_action . '">
	<input type="text" name="s" placeholder="Pesquisar">
	</form>
	</div>
	</li>';

    return $items;
}

Além disso, não se esqueça que você também pode combinar os trechos de código que mostrei com as conditional tags para criar algo ainda mais dinâmico.

Bom, acho que é isso. Se você tiver alguma dúvida qualquer, não hesite em perguntar aí nos comentários, você estará deixando este post mais completo.

Até o próximo!