functions.php
では、以下のような分類法をvar_dump()
できます。
$taxonomies=get_taxonomies('','names');
echo '<pre>';
var_dump($taxonomies);
これは私を与える:
array(7) {
["category"]=>
string(8) "category"
["post_tag"]=>
string(8) "post_tag"
["nav_menu"]=>
string(8) "nav_menu"
["link_category"]=>
string(13) "link_category"
["post_format"]=>
string(11) "post_format"
["project"]=>
string(7) "project"
["team"]=>
string(4) "team"
}
今、私は私の登録された分類法「プロジェクト」からすべての「カテゴリー」を得たいと思います
私はget_categories()とget_terms()の両方が空の配列を返すことを試みました。
$taxonomies = array(
'project'
);
$args = array(
'orderby' => 'name',
'order' => 'ASC',
'hide_empty' => true,
'exclude' => array(),
'exclude_tree' => array(),
'include' => array(),
'number' => '',
'fields' => 'all',
'slug' => '',
'parent' => '',
'hierarchical' => true,
'child_of' => 0,
'get' => '',
'name__like' => '',
'description__like' => '',
'pad_counts' => false,
'offset' => '',
'search' => '',
'cache_domain' => 'core'
);
$terms = get_terms($taxonomies, $args);
var_dump($terms);
与える
array(0) {
}
何がおかしいのですか?
get_terms
を使用してここで指摘したいことがほんの2、3個あります。
1つの値を配列に入れる必要はありません。単に値をそのまま変数に追加するだけです。
あなたの用語を返すには、実際に投稿をそれらに割り当てなければなりません。デフォルトでは、空の用語は非表示になっています。同じことが get_categories
にも言えます。空の用語も表示する必要がある場合は、hide_empty
パラメーターをfalse
に設定するだけです。
デフォルト値を呼び出す必要はありません。パラメータの値を変更しないのであれば、それを引数に追加しないでください。変更する予定のパラメータを追加するだけです。
これが正しい例です
$args = array(
'hide_empty' => false,
);
$terms = get_terms('project', $args);
var_dump($terms);
ここでは、空のものも含め、すべての用語を分類法project
のデフォルトの名前順に並べ替えています。