Funkce get_post_ancestors

Funkce get_post_ancestors je další z funkcí, pro manipulaci s posty. Při jejím použití vám vrátí pole všech rodičovských (nadřazených) postů, v závislosti na post ID.

Použití

get_post_ancestors( $post );

Parametry

Funkce má pouze jeden parametr $post a tím je buď ID postu, nebo object $post.

Jak jsem psal již výše, funkce prací pole ID všech rodičovských postů, nebo prázdnou hodnotu, pokud není nalezen žádný ancestor. Jako první v poli je nejbližší rodičovský post a posledním je nejvyšší nadřazený.

Příklady

Tento příklad vrátí nejvýše postavenou nadřazenou stránku pro aktuální stránku a získá její slug, pro body class.

$class = '';
if( is_page() ) { 
    global $post;
    $parents = get_post_ancestors( $post->ID );
    $id = ($parents) ? $parents[count($parents)-1]: $post->ID;
    $parent = get_page( $id );
    $class = $parent->post_name;
}

Podobným způsobem dostaneme například náhledový obrázek nejvýše položené stránky, k aktuální.

global $post;
$parents = get_post_ancestors( $post->ID );
$id = ($parents) ? $parents[count($parents)-1]: $post->ID;
if(has_post_thumbnail( $id )) {
	get_the_post_thumbnail( $id, 'thumbnail');
}

Kód příkladů je převzat z WordPress.org

About The Author

Zajímá mne Wordpress, responsivní šablony a zkrátka vše kolem tohoto skvělého redakčního systému.

Související články

Přidejte komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *