Где в Timber подготовлен файл с поисковым запросом? - PullRequest
1 голос
/ 03 мая 2019

В поисковой форме параметр поиска отправляется по GET

http://site_url/?s=searching_text

Как готовится SQL-запрос или где файл готовит запрос?

Форма поиска в Twig:

{% block searchform %}

    <form role="search" method="get" class="search-form form" action="{{ site.url }}/">
        <label>
            <span class="screen-reader-text">{{ __('Search for:', 'g5_helium') }}</span>
            <input type="search" class="search-field" placeholder="{{ __( 'Szukaj …', 'g5_helium' ) }}" value="" name="s" title="{{ __('Search for:', 'g5_helium') }}" />
        </label>
        <p></p>
        <input type="submit" class="search-submit button button-small" value="Szukaj" />
    </form>

{% endblock %}

1 Ответ

1 голос
/ 10 мая 2019

Файл логически назван search.php, он может выглядеть примерно так:

$templates = array( 'search.twig', 'archive.twig', 'index.twig' );
$context          = Timber::get_context();
$context['title'] = get_search_query();
$text_search = get_search_query();


$args = array(
    'post_type'        => array('post', 'product'),
    'posts_per_page'   => 8,
    's'                => $text_search,
    'orderby'          => 'date',
    'order'            => 'DESC',
    'post_status'      => 'publish',
    'paged'            => $paged
);

$context['pagination'] = Timber::get_pagination();
$context['posts'] = new Timber\PostQuery($args);
$context['count'] = new WP_Query($args);

Timber::render('templates/search.twig', $context);

Это в случае, если вы используете нумерацию страниц в результатах поиска.Здесь результаты получены из "записей", но также и для пользовательского типа записей, который называется "продукты", но вы можете настроить этот запрос по своему желанию.

...