Cómo resaltar la página actual en el menú de navegación de WordPress

Cómo ingresar al padre absoluto de cualquier página secundaria

Ultima actualización en por Debjit Saha

Extractos de IsItWP

¿Está buscando una forma de obtener el padre absoluto de cualquier página secundaria? Si bien probablemente haya un complemento para esto, hemos creado un fragmento de código rápido que puede usar para obtener el padre absoluto de cualquier página secundaria en WordPress.

Introduzca el padre absoluto de cualquier página secundaria, independientemente de la “profundidad” de la página secundaria en el árbol de navegación. Es ideal para la navegación en dos niveles de profundidad.

En el siguiente ejemplo, cuando el usuario está en una página secundaria de “Nuestra empresa” (que tiene un ID de 2), 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 necesita hacer es agregar este código al archivo functions.php de su tema o en un complemento 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
}

Notar: Si es la primera vez que agrega fragmentos en WordPress, consulte nuestra guía sobre cómo copiar / pegar correctamente fragmentos en WordPress, para no romper accidentalmente su sitio.

Si le gustó este fragmento, consulte 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.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Ir arriba