add_filter( 'get_terms', 'get_subcategory_terms', 10, 3 );
function get_subcategory_terms( $terms, $taxonomies, $args ) {  
     $new_terms = array(); 
 if ( in_array( 'product_cat', $taxonomies ) && ! is_admin() && is_shop() ) {        
 foreach ( $terms as $key => $term ) {      
       
           $new_terms[] = $term;
            
}       
$terms = $new_terms;   
  }     
  return $terms; 

这段是现在的代码   我数据库里有一个表有一个字段是term_id  我已经把需要显示的分类的term_id存在了$duqu里面  我想问下  怎么把这个变量插到上面的代码里面可以只显示那些被选出来的term_id的分类呢 谢谢了

解决方案 »

  1.   

    你给的代码根本找不到term_id与$duqu,怎么帮你改一般想达到你的要求,传一个判断就可以了!
      

  2.   


    不好意思啊  有点忙  才回来看帖子
    是这样的  那段代码是程序里自带的  我不太懂  后来那些term_id什么的 是我从数据库表里面自己导出来的  所以变量的名称设的可能不一样
    我研究了一下  找到了一个解决方法  但是有一个地方弄不好麻烦你看下会不会 谢了if ( ! in_array( $term->slug, array(  ) ) ){         
               $new_terms[] = $term;
          }我用了这段程序实现让一部分分类不显示  比如说我不想显示slug值为A的分类 就写成array('A')就可以
    但是我想不显示的有很多  
    $shaixuankuwp_terms=mysql_query("SELECT * FROM `wp_terms` where term_id='".$duqu_term_id."'");
    这段我筛选出了表里所有我想不显示的行
    while ($duqushujukuwp_terms=mysql_fetch_array($shaixuankuwp_terms)){ $duqu_slug=$duqushujukuwp_terms[slug]; }
    这段我一行一行读出了分类的slug
    但是我不知道该怎么把$duqu_slug 这个全部放到上面的array()里面  貌似array()里面不能放数组 只能一条条放
    码放帮忙看看怎么改啦  谢谢啦
      

  3.   

    while ($duqushujukuwp_terms=mysql_fetch_array($shaixuankuwp_terms)){ $duqu_slug[]=$duqushujukuwp_terms[slug]; }$duqu_slug就是你不想显示的行的数组。