Suporte » Temas e templates » Menu com link selecionado da página actual

  • Viva 🙂
    De volta mais uma vez 😉

    Já ando de volta disto há umas semanas e não consigo dar a volta.

    Como menu principal, tenho o seguinte código:

    <?php wp_list_pages('depth=1&title_li=&sort_column=menu_order'); ?>

    Este pedaço de código cria-me um menu com os links das páginas criadas, criando em cada uma um estado de activo na página em que estiver. Tudo em ordem até aqui.

    Neste site, tenho como homepage uma página custom e o blog como página. Tudo em ordem.

    O que me está a escapar é como é que consigo manter o link de “blog” activo quando passo para a página de arquivos, pesquisa, categorias ou post individual.

A visualizar 6 respostas - de 1 a 6 (de um total de 6)
  • Moderador Hugo Baeta

    (@hugobaeta)

    Hey Doobian,

    Como já te disse num post anterior, safavas-te muito melhor com o novo: http://codex.wordpress.org/Function_Reference/wp_nav_menu

    Mas para resolveres o problema dessa maneira (que dá muito mais trabalho), podes fazer o seguinte:

    <ul>
      <li <?php if ( is_home() || is_single() || is_search() || is_archive() || is_category() ) { echo ' class="current_page_item"';}?>>Blog</li>
      <?php wp_list_pages('depth=1&title_li=&sort_column=menu_order'); ?>
    </ul>

    Lê aqui sobre as Tags Condicionais: http://codex.wordpress.org/Conditional_Tags

    Mas, novamente te digo que tinhas menos trabalho com a nova função wp_nav_menu()

    Espero que isto ajude! 😉

    Thread Starter Doobian

    (@doobian)

    Viva, Hugo, mais uma vez 😉

    Eu já tinha tentando o is_home, is_single, etc, mas ele criava-me dois links blog e um levava-me para a página em que já estava e o outro, quando clicado, fazia highlight no outro “blog”. Neste caso, também experimentei, em vez de is_home, is_page_template(‘blog.php’) e is_page, mas sem resultado.

    Com o wp_nav_menu, o resultado é igual ao wp_list_pages. Faz highlight a tudo, menos ao link do blog. Já experimentei usar condicionais com o nav_menu, mas sem resultado 🙁

    No entanto, se usar o wp_nav_menu, mas sem as condicionais, ele faz highlight no link blog, mas não quando vou para os arquivos ou pesquisa, etc.

    Actualmente, estou a usar uma template page como homepage e o blog.php como posts page.

    Moderador Hugo Baeta

    (@hugobaeta)

    Que grande confusão!! 😉

    Tás a usar uma página com um page template específico, right? Então tens de fazer a condicional is_page('Blog') (é usado o nome ou slug da página, não do seu template específico). Nunca terás de fazer nenhum link a templates específicos .php.

    Em suma:

    <ul>
      <li <?php if ( is_home() || is_single() || is_search() || is_archive() || is_category() || is_page('Blog') ) { echo ' class="current_page_item"';}?>>Blog</li>
      <?php wp_list_pages('depth=1&title_li=&sort_column=menu_order&exclude=5'); ?>
    </ul>

    Repara que terás de excluir no wp_list_pages() o id da página do blog – no exmplo acima adicionei exclude=5 (sendo 5 um exemplo do ID da página)

    Vê lá se isto assim já funciona! 😉

    Thread Starter Doobian

    (@doobian)

    Ah!!!!! Quando experimentei o list_pages, não exclui nada.

    Vou experimentar então.

    Desculpa a confusão, mas não sou muito versado em WP, como deves ter reparado 😉

    Obrigado, Hugo 😀

    Thread Starter Doobian

    (@doobian)

    Worked like a charm !!!!! :D:D:D:D:D:D:D:D:D:D:D

    Muitissimo obrigado e um grande obrigado pela paciência, Hugo 😀

    Moderador Hugo Baeta

    (@hugobaeta)

    YAY!

    Na boa, quando precisares cá estaremos!
    E partilha o site aqui no forum quando o terminares! 😉

A visualizar 6 respostas - de 1 a 6 (de um total de 6)
  • O tópico ‘Menu com link selecionado da página actual’ está fechado a novas respostas.