Você está procurando uma maneira de obter o pai absoluto de qualquer página secundária? Embora provavelmente exista um plug-in para isso, criamos um trecho de código rápido que você pode usar para obter o pai absoluto de qualquer página secundária no WordPress.
Obtenha o pai absoluto de qualquer página secundária, independentemente da profundidade da página secundária na árvore de navegação. Isso é ótimo para navegação com mais de dois níveis de profundidade.
Neste exemplo abaixo, quando o usuário estiver em qualquer página secundária de “Our Company” (que tem um ID de 2), ele atribuirá uma classe ao elemento de lista:
<ul class="nav"> <!-- Navegação principal --> <li<?php if(is_tree("2")) echo ' class="active"'; ?>><a href="<?php bloginfo( 'url' ); ?>/our-company" title="Our Company">Nossa empresa</a></li> </ul>
Instruções:
Tudo o que você precisa fazer é adicionar esse código ao arquivo functions.php do seu tema ou em um plug-in específico do site:
function is_tree($pid) { // $pid = The ID of the page we're looking for pages underneath global $post; // load details about this page if ( is_page($pid) ) return true; // we're at the page or at a sub page $anc = get_post_ancestors( $post->ID ); foreach ( $anc as $ancestor ) { if( is_page() && $ancestor == $pid ) { return true; } } return false; // we aren't at the page, and the page is not an ancestor }
Observação: Se esta é a primeira vez que você adiciona trechos de código no WordPress, consulte nosso guia sobre como copiar/colar corretamente trechos de código no WordPress, para não danificar seu site acidentalmente.
Se você gostou desse snippet de código, considere dar uma olhada em nossos outros artigos no site, como: 23 melhores temas do WordPress para organizações sem fins lucrativos e como rastrear links de afiliados no Google Analytics.
Comentários Deixe uma resposta