¿Está buscando una manera de obtener el padre absoluto de cualquier página hija? Si bien es probable que haya un plugin para esto, hemos creado un fragmento de código rápido que puede utilizar para obtener el padre absoluto de cualquier página secundaria en WordPress.
Obtiene el padre absoluto de cualquier página hija, sin importar lo ‘profunda’ que sea la página hija en el árbol de navegación. Esto es ideal para la navegación de más de dos niveles de profundidad.
En este ejemplo de abajo, cuando el usuario está en cualquier página hija de “Nuestra Empresa” (que tiene un ID de 2), se asignará una clase al elemento de lista:
<ul class="nav"> <!-- Navegación principal --> <li<?php if(is_tree("2")) echo ' class="active"'; ?>><a href="<?php bloginfo( 'url' ); ?>/nuestra-empresa" title="Nuestra-empresa">Nuestra-empresa</a></li></li> </ul>
Instrucciones:
Todo lo que tienes que hacer es añadir este código al archivo functions.php de tu tema o en 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 añade fragmentos de código en WordPress, consulte nuestra guía sobre cómo copiar / pegar correctamente fragmentos de código en WordPress, para no romper accidentalmente su sitio.
Si te ha gustado este fragmento de código, por favor considere revisar nuestros otros artículos en el sitio como: 23 mejores temas de WordPress para organizaciones sin fines de lucro y cómo realizar un seguimiento de los enlaces de afiliados en Google Analytics.
Comentarios Deja una respuesta