Поиск Wordpress возвращает все страницы независимо от условия поиска - PullRequest
0 голосов
/ 14 февраля 2020

Я создал пользовательскую страницу поиска, отображающую результаты только для детей двух страниц сайта. Проблема в том, что независимо от того, что поисковый термин, он возвращает все страницы под этими двумя. Для любого поискового запроса он возвращает те же 200 страниц

$s=get_search_query();
$args = array(
            's' =>$s
        );

if(isset($_GET['book'])) {
    $b = $_GET['book'];
    $args = array(
        'post_type'       => 'page',
        'posts_per_page'  => -1,
        'post_parent__in' => array(7253, 9859),
        'sentence'        => true,
        'exact'           => true,
        'order'           => 'ASC',
        'orderby'         => 'relevance',
    );
    $parent = new WP_Query( $args );
    if ( $parent->have_posts() ) : ?>

if(isset($_GET['book'])) { проверка, должен ли поиск go только по этим двум страницам.

Чего мне здесь не хватает?

1 Ответ

0 голосов
/ 14 февраля 2020

Проблема в том, что вы переопределяете массив args.

Используйте следующий код:

$s=get_search_query();


if(isset($_GET['book'])) {
    $b = $_GET['book'];
    $args = array(
        'post_type'       => 'page',
        'posts_per_page'  => -1,
        'post_parent__in' => array(7253, 9859),
        'sentence'        => true,
        'exact'           => true,
        'order'           => 'ASC',
        'orderby'         => 'relevance',
        's'               => $s
    );
    $parent = new WP_Query( $args );
    if ( $parent->have_posts() ) : ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...