Funkce get_post_ancestors - Affinite.io CZ

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

Zobrazení widgetů jen na vybraných stránkách
Zobrazení widgetů jen na vybraných stránkách
11 Říj, 2014
Vytvoření stránky při aktivaci šablony
Vytvoření stránky při aktivaci šablony
17 Říj, 2014

Looking for something?