2011-07-29 2 views
2

wp_get_post_terms()を使用すると、投稿に関連付けられたタクソノミー用語のリストを生成できます。しかし、私はその記事のために選ばれたタクソノミー用語を表示したいだけです。前述の関数とget_terms()を使用すると、タクソノミーの用語が正常に検索されますが、すべての用語が表示されます。選択されたものだけでなく、関数の$ args配列で、 'selected'フィルタを探しましたが、見つからず、試しても機能しませんでした。選択したタクソノミの用語を表示するだけですか?

私はできないことをしようとしていますか?私はそれが私の顔を真っ赤にしているものだと確信しています。私は、私が物事をやっているやり方に大きな変更を加える前にプロに尋ねたいだけです。

答えて

1

wp_get_post_termsは、その投稿に対して選択された用語のみを返します。すべての分類用語を返しません。

http://codex.wordpress.org/Function_Reference/wp_get_post_terms

+0

を使用することができます。私にあなたにこれを聞かせてください、そして、私がばかげてばかげているなら、私は残念です。 $ thevariableholdingthearray-> nameを実行すると、特定のポストとタクソノミーからwp_get_post_terms()の配列を取得した後、何もそれからエコーされません。私は$ thevariableholdingthearray ['name']と$ thevariableholdingthearray [1]も試みました。私は欲求不満です:-( – Schwoebel

+0

'foreach($ array as $ term){echo $ term-> slug;}' – Dogbert

+0

私はthe_ID()を使って投稿のIDを返していました私は欲しかったです。私はget_the_ID();を使用していたはずです。 – Schwoebel

0
<?php 
$the_selected = $_GET['cat']; 
$args = array('post_type' => 'portfolio_item', 'posts_per_page' => 11, 'orderby' => 'id', 'order' => 'DESC', 'themes_categories' => "$the_selected"); 
$loop = new WP_Query($args); 
while ($loop->have_posts()) : $loop->the_post(); 
?> 

これは私に適しています。私は分類法のスラッグをブラウザに送信し、上のコードで繰り返します。私はこれでお送り

<li>Filter By:</li> 
<?php 
$categories=get_categories($args); 
    foreach($categories as $category) { 
    echo '<li><a href="' . get_category_link($category->term_id) . '?cat=' . $category->slug.'" title="' . sprintf(__("View all posts in %s"), $category->name) . '" ' . '>' . $category->name.'</a> </li> '; 
} 
?> 
0

あなたはこのコードを試してみることができますが、それは私のために働きました。私は「店舗」という分類法を持っており、そこから2つの選択された分類法を表示したかったのです。だから私はインクルード機能を使った。

<?php 
$taxonomy = 'stores'; 
$args1=array(
    'include'=> array(12,30) 
    ); 

$terms = get_terms('stores',$args1); 
echo '<ul>'; 


foreach ($terms as $term) { 
    //Always check if it's an error before continuing. get_term_link() can be finicky sometimes 
    $term_link = get_term_link($term, 'stores'); 
    if(is_wp_error($term_link)) 
     continue; 
    //We successfully got a link. Print it out. 


    echo '<li><a href="' . $term_link . '">' . $term->name . '</a></li>'; 
} 
echo '</ul>'; 
?> 
0
<?php echo get_the_term_list($post->ID, 'your_taxonamy'); ?> 

そして、あなたがリンクする用語なしでそれをしたい場合は、私がどこかでその後、道に迷って行くしなければならない。この

<?php $terms_as_text = get_the_term_list($post->ID,'your_taxonamy'); if (!empty($terms_as_text)) echo '', strip_tags($terms_as_text) ,''; ?> 
関連する問題