$_SERVER['HTTP_REFERER']
для принудительного получения GET ?$args['s'] = mb_strtolower(get_search_query());
wp_localize_script( 'search-category-filter', 'template_filters', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );
wp_reset_postdata();
, ничего не поменялось и я использую в конце ajax'а wp_send_json_success(); $args = array(
'post_type' => 'product',
'posts_per_page' => -1,
'meta_key' => '_price',
'orderby' => 'meta_value_num',
'order' => 'ASC',
's' => mb_strtolower(get_search_query())
);
$args['meta_query'][] = array(
'key' => '_price',
'value' => array( $min_price, $max_price ),
'type' => 'numeric',
'compare' => 'BETWEEN'
);
$wp_query = new WP_Query($args);
if ($wp_query->have_posts()) {
while ($wp_query->have_posts()) {
$wp_query->the_post();
the_title();
}
}
а, вот что Вы хотите)) Нет, это не магия. Как вы будете интерпретировать запрос, если он задается в свободной форме? Запрос "самолет", может подразумевать все, что угодно: покупка, инструкция по пилотажу или ремонту, поиск информации по характеристикам и т.д. и т.п.
function searchfilter( $query ) {
$post_type = get_post_type();
if ( $post_type == 'product' ) {
что-то делаем
}
return $query;
}
add_filter( 'pre_get_posts', 'searchfilter' );
ну так здесь явно задается поиск по типу, как в моем примере выше.
add_action( 'template_include', 'wpse_96472_search_template' );
function wpse_96472_search_template( $template )
{
if ( ! is_search() )
return $template;
if ( empty ( $_GET['post_type'] ) )
return $template;
if ( 'product' === $_GET['post_type'] )
return get_template_directory() . '/archive-product.php';
return $template;
}
<input type="hidden" name="post_type" value="product">
<input type="hidden" name="post_type" value="product">
Поправил вопрос, до этого был текущий соседний класс