Используя
$post = $wp_query->post;
$ancestors = get_post_ancestors($post);
переменной $ post присваивается сообщение, которое в данный момент просматривает посетитель.
Если вы хотите, чтобы на всех страницах содержалось меню rugs для всех детей, вам нужна только нижняя часть кода. Кроме того, параметр child_of не требуется назначать через переменную, вы можете ввести статический идентификатор страницы rugs , т.е. 173 :
<ul class="footerNav clearfix">
<?php wp_list_pages("title_li=&child_of=173&depth=1&sort_column=post_name" ); ?>
</ul><!-- #secondary-nav -->
Этих трех строк будет достаточно для создания меню для вас. Оператор if , который у вас есть, проверяет, есть ли у конкретной родительской страницы дочерние элементы, и генерирует неупорядоченный список, только если это так. Поскольку в этом случае вы знаете, что он существует, я бы оставил его и сохранил эти две строки. Для полноты картины я включил параметр sort_column - это даст вам отсортированное по алфавиту меню всех ковриков.
Код над оператором if необходим только для динамических меню, которые меняются в зависимости от страницы, на которой сейчас находится посетитель. Если вы когда-нибудь захотите реализовать такое меню, я все равно пойду по-другому и подумаю, что вышеупомянутое раздуто. Просто вставив
<?php $ancestors = get_post_ancestors($post); ?>
в ваш файл header.php позволит вам создавать динамические меню в других местах с
<?php if (is_page(173) || in_array(173,$ancestors)) { ?>
<ul class="subnav">
<?php wp_list_pages('title_li=&child_of=173&depth=1'); ?>
</ul>
<?php } ?>
Как уже говорилось выше, для вашего конкретного случая достаточно трехстрочного блока кода кулака.
Дополнительная ссылка: WP Codex: wp_list_pages