¿Está buscando una forma de obtener el padre absoluto de cualquier página hija? Si bien probablemente exista un plugin para esto, hemos creado un fragmento de código rápido que puede usar para obtener el padre absoluto de cualquier página hija en WordPress.
Obtenga el padre absoluto de cualquier página hija, sin importar cuán 'profunda' sea la página hija en el árbol de navegación. Esto es excelente para la navegación de más de dos niveles de profundidad.
En este ejemplo a continuación, cuando el usuario esté en cualquier página hija de "Nuestra Empresa" (que tiene un ID de 2), se le asignará una clase al elemento de la 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>
Instrucciones:
Todo lo que tienes que hacer es agregar este código al archivo functions.php de tu tema o a un plugin específico del sitio:
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
}
Nota: Si es la primera vez que agregas fragmentos de código en WordPress, consulta nuestra guía sobre cómo copiar / pegar fragmentos de código correctamente en WordPress, para que no rompas accidentalmente tu sitio.
Si te gustó este fragmento de código, considera echar un vistazo a nuestros otros artículos en el sitio como: los 23 mejores temas de WordPress para organizaciones sin fines de lucro y cómo rastrear enlaces de afiliados en Google Analytics.
Comentarios Deja una respuesta