Всем привет!
Уже который день бьюсь головой об монитор. Помогите разобраться с поиском.
У меня есть собственный шаблон для WP, все натянул все работает как надо, создал
custom post type, один из этих пост тайпов называется
post_type_products. В нем хранятся записи с метакми. В чем собственно
проблема ?
Проблема в том, что мой поиск ищет записи по
заголовкам, а мне надо чтобы искал по
меткам и выдавал мои превьюшки, которые настроил.
Файл search.phpКод<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<?php if(isset($_GET['post_type'])) {
$type = $_GET['post_type'];
if($type == 'post_type_products') {?>
<?php ale_part('postpreview_products'); ?>
<?php } else { ?>
/* Format for custom post types that are not "book,"
or you can use elseif to specify a second post type the
same way as above. Copy the default format here if you
only have one custom post type. */
<?php } ?>
<?php } else { ?>
/* Format to display when the post_type parameter
is not set (i.e. default format) */
<?php } ?>
<?php endwhile; else: ?>
<div class="container">
<div class="product_title_no">
<h1>
Не найдено
</h1>
</div>
</div>
<?php endif; ?>
Файл funcion.php тут функция фильтрации по типу поста - post_type_products
Кодfunction searchfilter($query) {
if ($query->is_search && !is_admin() ) {
if(isset($_GET['post_type'])) {
$type = $_GET['post_type'];
if($type == 'post_type_products') {
$query->set('post_type',array('post_type_products'));
}
}
}
return $query;
}
add_filter('pre_get_posts','searchfilter');
Форма поискаКод<form role="search" method="get" class="search-form" action="<?php echo home_url( '/' ); ?>">
<label>
<input type="search" class="search-field" placeholder="<?php echo esc_attr_x( 'Введите название', 'placeholder' ) ?>" value="<?php echo get_search_query() ?>" name="s" title="<?php echo esc_attr_x( 'Search for:', 'label' ) ?>" />
<input type="hidden" name="post_type" value="post_type_products" />
</label>
<input type="submit" class="search-submit" value="<?php echo esc_attr_x( 'Search', 'submit button' ) ?>" />
</form>