Eu tenho andado brincando / procurando por horas e ainda não consigo fazer isso funcionar, então finalmente estou cedendo e pedindo ajuda.
Estou tentando escrever um andador personalizado que mostre apenas os filhos das páginas atuais ou se não houver filhos exibindo os irmãos das páginas.
Por exemplo, considere a seguinte árvore de menus:
- 1.0
- 1.2.0
- 1.3.0
- 1.3.1
- 1.3.2
- 1.2.1
- 1.2.2
- 1.2.0
- 2.0
Vamos supor que eu esteja na página atual 1.2.0. Nesta página, quero exibir os filhos (1.3.0, 1.3.1, 1.3.2)
no entanto, se eu estiver na página 1.2.2, uma vez que não possui filhos, ele deve exibir seus irmãos no nível atual e mostrar-me (1.2.0, 1.2.1, 1.2.2).
Respostas:
Este é o andador que eu costumava exibir apenas os filhos do item de menu atual. Ou os itens de menu irmãos, se não tiver filhos.
Há comentários em toda a classe explicando cada seção
Anexe-o como faria com qualquer outro andador personalizado em um wp_nav_menu
fonte
Eu tive uma experiência parecida. Você pode pensar em mover a lógica das páginas para fora do andador. Basicamente, compile a hierarquia da página atual como um objeto. Em seguida, use o parâmetro 'exclude' na função wp_nav_menu. Agora, as páginas excluídas dependerão se a página atual tiver filhos. Se nenhum filho mostra irmãos; se filhos e essas crianças são o fim da linha, mostre irmãos e filhos; se existirem filhos e netos, exclua irmãos e mostre filhos e netos.
fonte
exclude
parâmetro ao qual você se refere? Estou olhando a documentação e não vejo nenhuma referência a ela.wp_list_pages()
nesse contexto, então essa é uma ideia interessante.