2017-10-28 11 views
0

から用語がある場合は、何かの操作を行います。「フィクション」と「小説」ポストは、私はそれで2項を持つカスタム分類「ライブラリ」を持っているカスタム分類

私が依存する関数を実行しようとしていを私の投稿にはこの分類法から何の言葉がありますか?

だから、ポストは「フィクション」に割り当てられている場合、私は//do somethingする必要があり、ポストは、私は非常に最初に//do something else

に必要な「小説」に割り当てられている場合、私はis_taxにしようとしてきましたが、それは期待どおりに動作していないようです:

if (is_tax('library','fiction')) { 
    //do something 
    } elseif (is_tax('library','novels')) {  
    //do something else 
    } 

どちらか私もhas_termを試してみましたが、それは私のために動作しません。

if (has_term ('fiction','library')) {  
     //do something 
     } elseif (has_term ('novels','libary')) { 
     //do something else 
     } 

だから私はそれをwp_get_post_termsで行くを与えたい、しかし、私はこの1つを実行するために正確かどうかはわかりません。

私はこれをしようとしている:

$terms = wp_get_post_terms($post->ID, 'library'); 
foreach ($terms as $term) { 
     if($term->name == 'fiction') { 
      // do something 
     } 
     elseif($term->name == 'novels') { 
      // do something else 
     } 
} 

私はそこに何かが足りないのですか?特にこの最後のもの?

答えて

0

カテゴリ名をusign get_categories();で取得します。機能

$category_args = array(
    'type'      => 'yourposttypename', 
    'child_of'     => 0, 
    'parent'     => 0, 
    'orderby'     => 'id', 
    'order'     => 'ASC', 
    'hide_empty'    => 0, 
    'hierarchical'    => 1, 
    'exclude'     => '', 
    'include'     => '', 
    'number'     => '', 
    'taxonomy'     => 'library', 
    'pad_counts'    => false 

); 
$categories = get_categories($category_args); 
if(count($categories)>0) 
{ 

     foreach ($categories as $category) { 
      if($category->name=='fiction') 
      { 
       // do something 
      } 
      else if($category->name=='novels') 
      { 
       // do something else 
      } 
     } 

} 
関連する問題