Hi, my name is
Lee Harris and
I'm a Freelance Web Designer

WordPress is_tree function

5.Jul.2015 | , ,

Add this to your functions.php to add a class to all pages within a tree:

function is_tree($pid) {      // $pid = The ID of the page we're looking for pages underneath
    
    global $post;         // load details about this page

    $cpid = get_the_ID();

    $parents = get_post_ancestors( $post->ID ); // get the ancestors

    $ancestorid = ($parents) ? $parents[count($parents)-1]: $post->ID;

    if(($post->post_parent==$pid||$cpid==$pid||$ancestorid==$pid))
        return true;   // we're at the page or at a sub page
    else
        return false;  // we're elsewhere
};

// Then use this conditional anywhere in your template files:

if ( is_tree( //page id here ) ) :
// Do something... 
endif; ?>

Reference – css tricks blog post

,

  • html5
  • css3
  • sass
  • php
  • WordPress
  • WooCommerce