2010-11-30 8 views
0

タクソノミ用語のカテゴリリストをフィルタリングしたいと思います。WordPressのタクソノミ用語のフィルタget_categories()

私はこれを達成するための手がかりがありません。どんな助けも大歓迎です。

<?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); 


?> 
+0

この追加タクソミーミー用語は何ですか?あなたはすべてのサブカテゴリを表示するカテゴリですか?または、カスタム分類法 'region'が' $ name'に設定されているすべての投稿で使用されているカテゴリのみを表示したいですか? –

+0

http://wordpress.stackexchange.com/questions/4724/filter-get-categories-for-taxonomy-term-in-wordpress/4915 – TheDeadMedic

答えて

2

私はバージョン3.1.2を使用しています。 'taxonomy' => '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); 
?> 
+0

でディスカッションを続けましょうこのページをご覧ください: http:///codex.wordpress.org/Template_Tags/wp_list_categories –

関連する問題