Você está procurando uma maneira de obter o pai absoluto de qualquer página filha? Embora provavelmente exista um plugin para isso, criamos um trecho de código rápido que você pode usar para obter o pai absoluto de qualquer página filha no WordPress.
Obtenha o pai absoluto de qualquer página filha, não importa quão 'profunda' a página filha esteja 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 filha de "Nossa Empresa" (que tem um ID de 2), uma classe será atribuída ao elemento da lista:
<ul class="nav"> <!-- Main nav -->
<li<?php if(is_tree("2")) echo ' class="active"'; ?>><a href="<?php bloginfo( 'url' ); ?>/our-company" title="Our Company">Our Company</a></li>
</ul>
Instruções:
Tudo o que você precisa fazer é adicionar este código ao arquivo functions.php do seu tema ou a um plugin 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 trechos de código corretamente no WordPress, para não quebrar acidentalmente seu site.
Se você gostou deste trecho de código, considere conferir 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