Dans functions.php
je peux var_dump()
taxonomies comme:
$taxonomies=get_taxonomies('','names');
echo '<pre>';
var_dump($taxonomies);
qui me donne:
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"
}
Maintenant, j'aimerais obtenir toutes les "catégories" de mon "projet" de taxonomie enregistrée
J'ai essayé avec get_categories () et get_terms (), renvoyant tous deux un tableau vide.
$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);
donnant
array(0) {
}
Qu'est-ce que je fais mal?
Je voudrais souligner quelques éléments à l’aide de get_terms
Pas besoin de mettre une valeur dans un tableau, vous pouvez simplement ajouter la valeur telle quelle à la variable
Pour que vos termes soient restitués, vous devez réellement leur attribuer des publications. Par défaut, les termes vides sont masqués. Il en va de même pour get_categories
. Si vous devez également afficher des termes vides, définissez simplement le paramètre hide_empty
sur false
.
Vous n'avez pas besoin d'appeler les valeurs par défaut. Si vous n'allez pas modifier la valeur d'un paramètre, ne l'ajoutez pas à vos arguments. Ajoutez simplement les paramètres que vous allez modifier
Voici un bon exemple
$args = array(
'hide_empty' => false,
);
$terms = get_terms('project', $args);
var_dump($terms);
Ici, nous obtenons tous les termes, y compris les vides, triés par le nom par défaut de la taxonomie project