Как использовать функцию, чтобы установить поиск по умолчанию только для продуктов? - PullRequest
0 голосов
/ 01 июля 2019

Мне нужно установить поиск, который является частью темы, только для поиска продуктов. На данный момент он ищет всю платформу.

Это не пользовательская форма, мне нужна только возможность изменить операцию поиска по умолчанию. Таким образом, вместо перехода к / s? Green, он включает в себя код «product» в URL, поэтому он ищет только продукты.

add_filter( 'pre_get_posts', 'custom_pre_get_posts' );
function custom_pre_get_posts( $query ) {
    if ( is_search() ) {
        $query->set('post_type', 'product');
    }

    return $query;
}

Мы просто хотим, чтобы продукты отображались в их плитках, а не в блогах.

Ответы [ 2 ]

0 голосов
/ 02 июля 2019

Это было в файле функций в корневой области темы.Мы были направлены на это, их вынули, поместили в дочернюю тему, отредактировали тег Form в коде, и это сработало.

0 голосов
/ 01 июля 2019

Если вы когда-нибудь будете искать на своем сайте тип сообщения product, вы можете создать собственный шаблон searchform.php, чтобы включить это скрытое поле:

<input type="hidden" name="post_type" value="product" />

Вы можете разместить это где угодно в пределах form HTML-разметки. Ниже показано, что WP выводит по умолчанию, если нет файла searchform.php, и вы используете поддержку формы HTML5.

<form role="search" method="get" class="search-form" action="<?php echo esc_url( home_url( '/' ) ); ?>">
    <input type="hidden" name="post_type" value="product"/>
    <label>
        <span class="screen-reader-text"><?php _e( 'Search for:', 'label' ); ?></span>
        <input type="search" class="search-field" placeholder="<?php esc_attr_e( 'Search &hellip;', 'placeholder' ); ?>" value="<?php echo get_search_query(); ?>" name="s"/>
    </label>
    <input type="submit" class="search-submit" value="<?php esc_attr_e( 'Search', 'submit button' ); ?>"/>
</form>

Вы можете добавить приведенный выше код к своему собственному searchform.php и добавить его в корень директории THEME.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...