it-swarm-pt.tech

Onde os menus personalizados são construídos?

Eu criei um menu simples em wp-admin> aparência> menus chamados main-nav. Funciona bem.

No entanto, gostaria de adicionar um elemento personalizado ao final do menu ... uma caixa de pesquisa como a caixa de pesquisa na barra de menus do Apple.com. Eu não posso descobrir onde os menus são construídos no código. Onde posso adicionar isso ... alguma idéia?

(Estou usando o tema starkers)

EDITAR

Obrigado a tnorthcutt e hakre por me apontar na direção certa. A solução foi colocar esse código com o outro material 'add_filter' nas funções do meu tema.php

add_filter('wp_nav_menu_items','search_box_function');
function search_box_function ($nav){
return $nav."<li class='menu-header-search'><form action='http://example.com/' id='searchform' method='get'><input type='text' name='s' id='s' placeholder='Search'></form></li>";
}

UPDATE

A solução do @tnorthcutt é ótima para quando você tem apenas um menu na sua tela, mas se você adicionar o segundo menu, ele também anexa a caixa de pesquisa a esse menu. Como você segmentaria apenas um menu? Eu registrei meu menu assim:

register_nav_menus( array(
  'primary' => __( 'Primary Navigation', 'twentyten' ),
  'secondary'=>__('Secondary Menu', 'twentyten' ),

 ) );

..e o secundário é mostrado assim:

wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'secondary' ) ); 
2
cannyboy

Tente isto:

add_filter('wp_nav_menu_items','search_box_function');
function search_box_function {
search box code goes here
}

Para referência, confira o excelente tutorial de Bill Erickson sobre como fazer isso com o framework Genesis.

1
Travis Northcutt