Изменить страницу результатов поиска на одну страницу с пользовательским типом записи - PullRequest
0 голосов
/ 17 декабря 2018

У меня на сайте есть две формы поиска, одна для blog posts, а другая для products (продукты woocommerce).Здесь я хочу отобразить результаты поиска на одной странице соответствующего продукта, например Blog Post результат поиска в форме single-post.php и Product поиск результата в single-product.php.

Я отфильтровал поиск, используя скрытое поле ввода,

<form action="<?php echo get_site_url() ?>" method="GET">
    <div class="input-group">
        <input type="search" name="s" class="form-control" placeholder="Search Products" required>
        <input type="hidden" name="post_type" value="products" />
        <div class="input-group-btn">
            <button class="btn btn-default" type="submit">
                 <i class="fa fa-search" aria-hidden="true"></i>
            </button>
        </div>
    </div>
</form>

Как я могу направить результат поиска на соответствующую страницу?

1 Ответ

0 голосов
/ 17 декабря 2018

Вы можете добавить такой код в search.php

 while ( have_posts() ) : the_post();
    if(isset($_GET['post_type'])) {
            $type = $_GET['post_type'];
            if($type == 'products') {
               get_template_part( 'single', 'product' );
            } else {
               get_template_part( 'single', 'post' );
            }
    } else {
            get_template_part( 'single', 'post' );
    }
    endwhile;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...