Căutați o modalitate de a obține părintele absolut al oricărei pagini copil? Deși probabil există un plugin pentru asta, am creat o scurtă secțiune de cod pe care o puteți utiliza pentru a obține părintele absolut al oricărei pagini copil în WordPress.
Obțineți părintele absolut al oricărei pagini copil, indiferent cât de „adâncă” este pagina copil în arborele de navigare. Acest lucru este excelent pentru navigarea pe mai mult de două niveluri.
În exemplul de mai jos, când utilizatorul se află pe orice pagină copil a „Compania noastră” (care are un ID de 2), i se va atribui o clasă elementului de listă:
<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>
Instrucțiuni:
Tot ce trebuie să faceți este să adăugați acest cod în fișierul functions.php al temei dvs. sau într-un plugin specific site-ului:
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
}
Notă: Dacă este prima dată când adăugați secvențe de cod în WordPress, consultați ghidul nostru despre cum să copiați / lipiți corect secvențe de cod în WordPress, pentru a nu vă defecta accidental site-ul.
Dacă v-a plăcut această secțiune de cod, vă rugăm să luați în considerare să consultați celelalte articole ale noastre de pe site, cum ar fi: 23 cele mai bune teme WordPress pentru organizații non-profit și cum să urmăriți linkurile afiliate în Google Analytics.
Comentarii Lasă un răspuns