在WordPress中过滤分类术语的get_categories()

时间:2010-11-30 10:15:17

标签: wordpress

我想过滤分类术语的类别列表。

只是,我不知道如何实现这一目标。任何帮助都会非常受欢迎。

<?php

// $filter = array('region'=>$name);

$categories = get_categories();
foreach ($categories as $cat)
{
    if($cat->parent < 1)
    {
    $cat_name = $cat->cat_name;
    $catid = get_cat_ID( $cat_name );
    echo $cat_name. '<br/>';

    $args=array(
      'orderby' => 'name',
      'order' => 'ASC',
      'child_of' => $catid
      );
    $categories=get_categories($args);
      foreach($categories as $category) { 
        echo '<a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a><br/>';
        } 

    }
}

// print_r($categories); 


?>

1 个答案:

答案 0 :(得分:2)

在我正在使用的wordpress版本3.1.2版本。如果你要添加'taxonomy'=&gt; 'taxonomy_term'到它应该工作的args数组。因此,这是对原始代码的修改,以在数组中包含分类。不知道您尝试使用或不使用的分类名称:

<?php 

// $filter = array('region'=>$name); 

$categories = get_categories(); 
foreach ($categories as $cat) 
{ 
    if($cat->parent < 1) 
    { 
    $cat_name = $cat->cat_name; 
    $catid = get_cat_ID( $cat_name ); 
    echo $cat_name. '<br/>'; 

    $args=array( 
      'taxonomy' => 'taxonomy_term', 
      'orderby' => 'name', 
      'order' => 'ASC', 
      'child_of' => $catid 
      ); 
    $categories=get_categories($args); 
      foreach($categories as $category) {  
        echo '<a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a><br/>'; 
        }  

    } 
} 

// print_r($categories);  
?>