• Hello,

    I have a site with a lot of products stored in CPT.

    I have to do a search-page with query depend on meta values. And also i have to order results by another meta value. Unfortunately, while i’ve done an orderby, it works, but it is loading too slow, sometimes it can do 10seconds, or even return an error.

    My code:

    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    
    $args = array(
    	'post_type'=>'produkty',
    	'product_type'=>'sprzedaz',
    	'posts_per_page'=>10,
    	'paged'=>$paged,
    	'meta_query'=> array(
    		'relation'=>'AND',
    		array(
    			'key'=>'dane_techniczne_0_producent',
    			'value'=>$params['producent'],
    			'compare'=> ( ($params['producent']) ? '=' : '!=')
    			),
    		array(
    			'key'=>'dane_techniczne_0_typ',
    			'value'=>$params['typ'],
    			'compare'=> ( ($params['typ']) ? '=' : '!=')
    			),
    		array(
    			'key'=>'dane_techniczne_0_dlugosc',
    			'value'=>$params['dlugosc'],
    			'compare'=> ( ($params['dlugosc']) ? '=' : '!=')
    			),
    		array(
    			'key'=>'dane_techniczne_0_miejsca_jazdy',
    			'value'=>$params['miejsca_jazdy'],
    			'compare'=> ( ($params['miejsca_jazdy']) ? '>=' : '!=')
    			),
    		array(
    			'key'=>'dane_techniczne_0_miejsca_spania',
    			'value'=>$params['miejsca_spania'],
    			'compare'=> ( ($params['miejsca_spania']) ? '>=' : '!=')
    			),
    		array(
    			'key'=>'dane_techniczne_0_uklad_z_tylu',
    			'value'=>$params['uklad'],
    			'compare'=> ( ($params['uklad']) ? '=' : '!=')
    			),
    		array(
    			'key'=>'dane_techniczne_0_garaz',
    			'value'=>$params['garaz'],
    			'compare'=> ( ($params['garaz']) ? '=' : '!=')
    			),
    		array(
    			'key'=>'dane_techniczne_0_ogrzewanie',
    			'value'=>$params['ogrzewanie'],
    			'compare'=> ( ($params['ogrzewanie']) ? '=' : '!=')
    			),
    
    	),
    	'orderby' => 'meta_value',
    	'meta_key' => 'dane_techniczne_0_cena_sprzedazy',
    	'order'=>'ASC',
    
    );
    
    query_posts($args);

    You can see this page on:

    http://test3.stronademo.pl/wyszukiwarka/

The topic ‘Very slow loading with meta_query’ is closed to new replies.