之前有个客户找做wordpress多重筛选功能,主要通过自定义分类法来筛选。下面给出大致的代码片段,供有一定开发基础的人看,若不懂代码,可联系开发。

处理过滤的代码:

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;   $args = array(   'post_type' => 'post',   'paged' => $paged   );    $args['tax_query'] = array();    if(isset($_GET['city']) && $_GET['city'] > 0){   array_push($args['tax_query'], array('taxonomy' => 'city','field' => 'term_id','terms' => $_GET['city']) );   }   if(isset($_GET['function']) && $_GET['function'] > 0){   array_push($args['tax_query'], array('taxonomy' => 'function','field' => 'term_id','terms' => $_GET['function']) );   }   if(isset($_GET['industry']) && $_GET['industry'] > 0){   array_push($args['tax_query'], array('taxonomy' => 'industry','field' => 'term_id','terms' => $_GET['industry']) );   }   if(isset($_GET['scene']) && $_GET['scene'] > 0){   array_push($args['tax_query'], array('taxonomy' => 'scene','field' => 'term_id','terms' => $_GET['scene']) );   }   if(isset($_GET['price']) && $_GET['price'] > 0){   array_push($args['tax_query'], array('taxonomy' => 'price','field' => 'term_id','terms' => $_GET['price']) );   }       query_posts($args);   if (have_posts()) : while (have_posts()) : the_post();     endwhile;endif;?>

获取过滤链接的函数

function getFilterUrl($city,$function,$industry,$price,$scene=0){   $filter = '?filter=1';   if( $city ){   $filter .= '&city='.$city;   }else{   $filter .= '&city=0';   }   if( $function ){   $filter .= '&function='.$function;   }else{   $filter .= '&function=0';   }   if($scene){   if( $industry ){   $filter .= '&scene='.$industry;   }else{   $filter .= '&scene=0';   }   }else{   if( $industry ){   $filter .= '&industry='.$industry;   }else{   $filter .= '&industry=0';   }   }   if( $price ){   $filter .= '&price='.$price;   }else{   $filter .= '&price=0';   }   return $filter;   }

另附一个案例核心代码下载:https://pan.baidu.com/s/1slfXikH 密码: g8c9

www.npspro.cn软师兄
软师兄 » wordpress 通过自定义分类法taxonomy多重筛选文章
50T免费网盘资源大集合【持续更中~~~~】:点击查看