В WordPress встроены условные функции для тестирования страницы:
if ( is_page(2) ) ( // stuff )
Или для проверки, является ли страница дочерним элементом определенной страницы:
if ( $post->post_parent == '2' ) ( // stuff )
Но нет встроенной функции, объединяющей эти две вещи, что является довольно распространенной потребностью. Например, загрузка специальной страницы CSS для целой «ветки» контента. Как страница «видео» и все ее дочерние страницы с отдельными видео.
Эта функция (добавленная в файл functions.php) создает новую логическую функцию, которая будет использоваться следующим образом:
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 );
использование
if (is_tree(2)) ( // stuff )