Ci sono funzioni WordPress condizionali integrate per testare una pagina:
if ( is_page(2) ) ( // stuff )
O per verificare se una pagina è figlia di una determinata pagina:
if ( $post->post_parent == '2' ) ( // stuff )
Ma non esiste una funzione incorporata che combini queste due cose, che è un'esigenza abbastanza comune. Ad esempio, caricare una pagina CSS speciale per un intero "ramo" di contenuto. Come una pagina "video" e tutte le sue singole pagine di video per bambini.
Questa funzione (aggiunta al file functions.php) crea una nuova funzione logica da utilizzare in questo modo:
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()&&($post->post_parent==$pid||is_page($pid))) return true; // we're at the page or at a sub page else return false; // we're elsewhere );
Utilizzo
if (is_tree(2)) ( // stuff )