Skip to content

Instantly share code, notes, and snippets.

@JiveDig
Forked from ericrasch/is_child.php
Last active August 29, 2015 14:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JiveDig/c5c0e6adacf3de154715 to your computer and use it in GitHub Desktop.
Save JiveDig/c5c0e6adacf3de154715 to your computer and use it in GitHub Desktop.
/* =BEGIN: Check If Page Is Child
Source: http://bavotasan.com/2011/is_child-conditional-function-for-wordpress/
---------------------------------------------------------------------------------------------------- */
function is_child( $page_id_or_slug ) { // $page_id_or_slug = The ID of the page we're looking for pages underneath
global $post; // load details about this page
if ( !is_numeric( $page_id_or_slug ) ) { // Used this code to change a slug to an ID, but had to change is_int to is_numeric for it to work.
$page = get_page_by_path( $page_id_or_slug );
$page_id_or_slug = $page->ID;
}
if ( is_page() && ( $post->post_parent == $page_id_or_slug ) )
return true; // we're at the page or at a sub page
else
return false; // we're elsewhere
};
/**
* Check If Page Is Parent/Child/Ancestor
* @link http://css-tricks.com/snippets/wordpress/if-page-is-parent-or-child/#comment-172337
*/
function is_tree( $page_id_or_slug ) { // $page_id_or_slug = The ID of the page we're looking for pages underneath
global $post; // load details about this page
if ( !is_numeric( $page_id_or_slug ) ) { // Used this code to change a slug to an ID, but had to change is_int to is_numeric for it to work: http://bavotasan.com/2011/is_child-conditional-function-for-wordpress/
$page = get_page_by_path( $page_id_or_slug );
$page_id_or_slug = $page->ID;
}
if ( is_page() && ( $post->post_parent == $page_id_or_slug || (is_page( $page_id_or_slug ) || in_array($page_id_or_slug, $post->ancestors) ) ) ) {
return true; // we're at the page or at a sub page
} else {
return false; // we're elsewhere
}
}
<?php if ( is_tree( 'subpage' ) ) { // Using the slug /subpage/, but you could also use the ID of /subpage/ ?>
[[... insert your code here ...]]
<?php } ?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment