2010-11-24 12 views
0

私はビジネスのタイプを示すために、カスタムポストタイプ "ビジネス"、タクソノミー "地域"、 "カテゴリ"を使用しています。したがって、たとえばビジネス: "Mamma Mia Pizzeria" /地域: "Rotterdam" /カテゴリー: "Pizzerias"(親カテゴリ: "Food")。WordPressのタクソノミ用語のためにフィルタリングされたカテゴリリスト

今、私はリストの数を作成したいと思います:

(1)全てのカテゴリー(ユニークな物件 - 親を含む)を表示し、特定の地域のために - に添付ビジネスがある場合のみ、カテゴリを表示しますそれは、関連する地域のためです。

(2)特定の地域のすべての親カテゴリ(一意のリスト)を表示します。関連するビジネスカテゴリがある場合は、親カテゴリのみを表示します(子カテゴリ経由)。

(3)は、特定のカテゴリと、特定の地域

に属する企業(詳細)のリストを表示し、私は成功せず、多くのことを試してみました。誰かが私を助けることができたら、私は非常に満足しています。私が試した何

+0

あなたは** **しようとしているもののいくつかのスニペットを投稿気に? – TheDeadMedic

答えて

0

広告1):

// show a list of categories for a region (taxonomy = "region") 

<?php $term = get_term_by('slug', get_query_var('term'), get_query_var('taxonomy')); ?> 

<?php query_posts(array('post_type'=>'business', 'region'=>$term->slug)); ?> 

<?php 
if (have_posts()) : 
    while (have_posts()) : 
     the_post(); 
     the_category(' &raquo; ','multiple'); 
     echo '<br/>'; 
    endwhile; 
endif; 
?> 

// but, how to show a category only once? 

広告2)私が試した何:広告1)を加えた方法を示すために、親カテゴリのみを参照してください?

広告3)私が試したこと:広告1を参照してください。特定のカテゴリをフィルタリングする方法は?

0

Plusは、私は私のfunctions.phpに以下を追加しました:

// Add Business to the query 

add_filter('pre_get_posts', 'query_post_type'); 
function query_post_type($query) { 
    if(is_category() || is_tag()) { 
    $post_type = get_query_var('post_type'); 
    if($post_type) 
     $post_type = $post_type; 
    else 
     $post_type = array('post','business','nav_menu_item'); 
    $query->set('post_type',$post_type); 
    return $query; 
    } 
}