Adicionar elemento de inscrição no boletim de notícias à barra de navegação

Eu tenho pesquisado aqui e em outros sites de dev / WP para encontrar a melhor solução para adicionar o que é efetivamente um elemento personalizado para o menu de navegação, e parece que existem muitas abordagens. Em última análise, gostaria de adicionar um item “Newsletter” ao menu de navegação principal, que includeia um campo de formulário diretamente no menu para coletar endereços de e-mail ou algum tipo de lista suspensa em que o endereço pode ser inserido .

Uma opção parece estar usando a class Walker com wp_nav_menu ; ou usando add_last_nav_item como sugerido aqui . O único problema com a última opção é que provavelmente preferiria adicionar este elemento personalizado em uma posição na barra de navegação antes do último item. Finalmente, eu também imaginei criar um widget personalizado e usar um plugin para adicionar o widget à barra de navegação.

Alguém tem alguma recomendação para adicionar este elemento personalizado ao menu de navegação? Todas as sugestões são mais apreciadas.

Solutions Collecting From Web of "Adicionar elemento de inscrição no boletim de notícias à barra de navegação"

Apenas para responder a questão direta de onde você pode se conectar para adicionar ao seu menu de navegação, esta técnica está em toda a web, principalmente no contexto de append uma checkbox de pesquisa ao navegador.

Se o local do tema para o seu menu for main-nav , isso adicionará um item de lista extra aos itens da lista de menus.

 add_filter('wp_nav_menu_items', 'add_signup_form', 10, 2); function add_signup_form($items, $args) { if( $args->theme_location == 'main-nav' ) $items .= '
  • Signup form in here
  • '; return $items; }

    Como eu disse nos meus comentários acima, não acho que este seja um HTML muito semântico e acho que a popularidade em torno da web dessa técnica é que esse gancho é quase o único quando os menus do navegador foram introduzidos.

    E se você estiver em posição de editar arquivos de tema para colocar essa function ganhadora, então você também pode editar o (s) arquivo (s) de header e colocar HTML mais significativo para alcançar o que deseja.

    Você só pode acrescentar em vez de inserir usando esse gancho, mas novamente eu achava que inserir um formulário na navegação era inescruante.