child_of не работает во время поиска

Я пытаюсь ограничить поиск родительской страницей и ее дочерними страницами.

Я изменил searchform.php, добавив этот код:

<input type="hidden" value="<?php global $post; $ancestors2 = $post->ancestors; if ($ancestors2) { echo end($ancestors2); } else { echo $post->ID; } ?>" name="childof" /> 

Также я добавляю функцию к функциям my.php моей темы:

 function SearchFilter($query) { if (is_search() && !empty($_GET['s']) && !empty($_GET['childof'])) { $parent_page_id = intval($_GET['childof']); $query->set('child_of', $parent_page_id ); } return $query; } add_filter('pre_get_posts','SearchFilter'); 

Я тестировал переменные с var_dump($query) и он возвращался:

 ["child_of"]=> int(104) 

Но я все еще вижу результаты поиска с других страниц, а не только с родительской страницы (или ее дочерних страниц).

Зачем?

Благодаря!