WordPress Query Optimization for In-Stock Products and Sorting
$idarray=;array();\n\t$data=;array(\n\t\t'post_type'=>'qqproduct',\n\t\t'post_status'=>'publish',\n\t\t'orderby'=>'DATE',\n\ 'order'=>'DESC',\n\t\t'posts_per_page'=>$per_page,\n\t\t'paged'=>$paged,\n\t);\n\n$meta_query=;array();\n$sort_query=;array();\n\n\tforeach($results;as;$key=>$value){\n\n\t\tif($key=='qcat'){\n\t\t\tif($value){\n\t\t\t\tif($value!='all'){\n\n\t\t\t\t$cat_query=;array('relation'=>'OR',);\n\t\t\t\t$catos=;(explode(,'$value));\n\n\t\t\t\t\tforeach($catos;as;$cato){\n\n\t\t\t\t\t\t$cat_query[]=;[\n\t\t\t\t\t\t\t'taxonomy'=>'qqcpat',\n\t\t\t\t\t\t\t'field'=>'term_id',\n\t\t\t\t\t\t\t'terms'=>$cato,\n\t\t\t\t\t\t];\n\n\t\t\t\t\t\t$keys[]=;$cato;\n\n\t\t\t\t\t}\n\t\t\t\t$data['tax_query']=;array(array($cat_query),);\n\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telseif($key=='offset'){\n\t\t}\n\t\telseif($key=='in_stock'){\n\n\t\t\t$meta_query[]=;array(\n\t\t\t\t'key'=>'qqp_qty',\n\t\t\t\t'value'=>;array('0'),\n\t\t\t\t'compare'=>'>'\n\t\t\t);\n\t\t\t$keys[]='in_stock';\n\n\t\t}\n\t\telseif($key=='sortby'){\n\n\t\t\tif($value=='newest'){\n\t\t\t\t$data['orderby']='DATE';\n\t\t\t}\n\t\t\telseif($value=='discount'){\n\t\t\t\t$sort_query[]=;array(\n\t\t\t\t\t'key'=>'qqpd_price',\n\t\t\t\t\t'value'=>'',\n\t\t\t\t\t'compare'=>'NOT;IN'\n\t\t\t\t);\n\t\t\t}\n\t\t\telseif($value=='review'){\n\t\t\t\t$sort_query[]=;array(\n\t\t\t\t\t'key'=>'qq_product_rate',\n\t\t\t\t\t'value'=>'',\n\t\t\t\t\t'compare'=>'NOT;IN'\n\t\t\t\t);\n\t\t\t\t$data['orderby']='meta_value_num';\n\t\t\t}\n\t\t\telseif($value=='topsale'){\n\t\t\t\t$sort_query[]=;array(\n\t\t\t\t\t'key'=>'qq_total_views',\n\t\t\t\t\t'value'=>'',\n\t\t\t\t\t'compare'=>'NOT;IN'\n\t\t\t\t);\n\t\t\t\t$data['orderby']='meta_value_num';\n\t\t\t}\n\t\t\t$keys[]=$value;\n\t\t}\n\t\telse{\n\t\t\tif($value){\n\t\t\t\t$stros=;explode(,'$value);\n\n\t\t\t\t\tforeach($stros;as;$stro){\n\t\t\t\t\t\t$trainer_query[]=;[\n\t\t\t\t\t\t\t'key'=>'qq_att_'. $key,\n\t\t\t\t\t\t\t'value'=>$stro,\n\t\t\t\t\t\t\t'compare'=>'LIKE',\n\t\t\t\t\t\t];\n\t\t\t\t\t\t$keys[]=$stro;\n\t\t\t\t\t}\n\n\t\t\t\t$meta_query[]=$trainer_query;\n\t\t\t}\n\t\t}\n\n}\n\n\tif(empty($sort_query)){\n\t\t$meta_query['relation']='AND';\n\t}\n\telse{\n\t\t$meta_query['relation']='OR';\n\t\t$data['meta_query']=$sort_query;\n\t}\n\n\tif(!empty($meta_query)){\n\t\t$data['meta_query']=$meta_query;\n\t}\n\n\
原文地址: https://www.cveoy.top/t/topic/qefq 著作权归作者所有。请勿转载和采集!