定制服务
承接WordPress等系统建站仿站、二次开发、主题插件定制等
联系我们
  • 说明需求,勿问在否

联系我们
wordpress
wordpress

wordpress 通过自定义分类法taxonomy多重筛选文章

之前有个客户找模板兔做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;
 }

仿36kr wordpress主题

0 条评论

由于360网盘关闭,本站内部分下载资源可能暂时无法下载,请到相关文章评论处留言,我们会马上处理,谢谢合作!