is_main_query()) { $q->set('tax_query',false); $q->set('search_orderby_title',false); $q->set('orderby',false); $q->set('no_found_rows',true); $q->set('posts_per_page',1); } } if(is_tax('product_cat')) { if($q->is_main_query()) { $q->set('tax_query',false); $meta_query=array(); $params=get_post_meta_names(); foreach ($_GET as $key=>$param) { if(isset($params[$key]) && $param) { $meta_query[]=[ 'key' => $key, 'value' => $param, ]; } } if($meta_query) { $meta_query[] = [ 'relation' => 'AND' ]; $q->set('meta_query', $meta_query); } } } if( (is_post_type_archive( 'proizvodstvo' ) || is_post_type_archive( 'uslugi' )) && $q->is_main_query() ){ $q->set('posts_per_page',-1); $q->set('post_parent',0); } } } add_action('parse_tax_query', 'edit_tax_product_query'); function edit_tax_product_query($q) { if(!is_admin() && function_exists('is_tax') && is_tax('product_cat')) { if($q->is_main_query()) { $q->tax_query->queries[0]['include_children']=false; } } } add_filter( 'pre_get_posts', 'modifier_search', 99 ); function modifier_search( $query ) { if(!is_admin() && $query->is_main_query() && $query->is_search()) { $query->set('post_type', array('product')); $query->set('posts_per_page',16); /* $query->set('meta_query',array( array( 'key' => 'gost', 'compare' => 'LIKE', 'value'=>$query->get('s') )));*/ } } function wph_search_by_title($search, $wp_query) { global $wpdb; if (empty($search)) return $search; $q = $wp_query->query_vars; $n = !empty($q['exact']) ? '' : '%'; $search = $searchand = ''; foreach ((array) $q['search_terms'] as $term) { $term = esc_sql(like_escape($term)); $search.="{$searchand}($wpdb->posts.post_title LIKE '{$n}{$term}{$n}' OR $wpdb->posts.post_excerpt LIKE '{$n}{$term}{$n}')"; $searchand = ' OR '; } if (!empty($search)) { $search = " AND ({$search}) "; if (!is_user_logged_in()) $search .= " AND ($wpdb->posts.post_password = '') "; } return $search; } add_filter('posts_search', 'wph_search_by_title', 500, 2); ?>get_results( "SELECT `key`,`caption` FROM `".$wpdb->prefix."ms2_options`" ) as $data) { $db_result[$data->key] = $data->caption; } wp_cache_set( 'names_option', $db_result ); } return $db_result; } function return_post_meta_and_name ($post_id) { $array=array(); $meta=get_post_meta($post_id); if( $meta) { foreach (get_post_meta_names () as $key =>$name) { if(isset($meta[$key][0])) $array[$name]=$meta[$key][0]; } } return $array; } ?>