2017-07-17 6 views
0

タクソノミーをいくつか登録し、タクソノミーラベルを取得してそれらのうちのいくつかをリストしたいと考えています。リストは投稿やカテゴリに関連していないため、事実上どこにでも表示できます(シングル、アーカイブなど)。特定のタクソノミーを一覧表示する

$tax_names = array('tax_01', 'tax_02', 'tax_03'); 

このコードは動作しますが、一つだけ分類出力:

$tax_args = array(
    'name' => 'tax_01' 
); 

$output = 'objects'; 

$taxonomies = get_taxonomies($tax_args, $output); 

if ($taxonomies) { 
    foreach ($taxonomies as $taxonomy) { 
    echo '<p>' . $taxonomy->label . '</p>'; 
    } 
} 

これを

私はので、私は他の場所でそれを使用することができ、変数/問題の分類法の配列を作成したいですうまくいかない:

$tax_args = array(
    'name' => $tax_names // using the array created above 
); 

$output = 'objects'; 

$taxonomies = get_taxonomies($tax_args, $output); 

if ($taxonomies) { 
    foreach ($taxonomies as $taxonomy) { 
    echo '<p>' . $taxonomy->label . '</p>'; 
    } 
} 

助けてください。

答えて

0

あなたはどこにもそのようにそれを使用したい場合は、のfunctions.php

function retrieve_my_terms() { 

global $terms; 

$terms = get_terms('taxonomy'); 

foreach ($terms as $term) { 
    $option = $term->name; 
    return $option; 
} 
} 

で関数を作成することができます。そして、あなたのPHPファイルにあなたが

retrieve_my_terms(); 

EDITのような関数を呼び出すことができます:

あなたはこのようなことをすることができます - 私はそれを正しくテストしていませんが、あなたに役立つかもしれません。

function retrieve_my_terms($termArray) { 

    global $terms; 

    $terms = $termArray; 

    foreach ($terms as $term) { 
     $option = get_term_by($term); 
     return $option; 
    } 
} 


$tax_names = array('tax_01', 'tax_02', 'tax_03'); 
retrieve_my_terms($tax_names); 
+0

ありがとうございました!これは機能しますが、分類法の用語を返します。 '$ tax_names = array( 'tax_01'、 'tax_02'、 'tax_03');' 出力はタクソノミラベルでなければなりません:タクソノミー01、タクソノミー02 、Taxonomy 03. – george

+0

私の返事を更新しました... –

関連する問題