J'ai utilisé ce code:
$categories = wp_get_post_categories(get_the_ID());
foreach($categories as $category){
echo '<div class="col-md-4"><a href="' . get_category_link($category) . '">' . get_cat_name($category) . '</a></div>';
}
mais ne renvoyez qu'une seule catégorie, comment puis-je obtenir toutes les catégories?
Dans le code que vous nous avez donné, vous êtes sélectionné les catégories sélectionnées pour le message spécifique que get_the_ID () fait cette partie. Cependant, il vaut mieux utiliser une autre fonction get_categories () https://developer.wordpress.org/reference/functions/get_categories/ que vous aimeriez faire ainsi:
$categories = get_categories();
foreach($categories as $category) {
echo '<div class="col-md-4"><a href="' . get_category_link($category->term_id) . '">' . $category->name . '</a></div>';
}
Vous pouvez également passer par des arguments pour être plus précis (si nécessaire) - voir https://developer.wordpress.org/reference/functions/get_terms/ pour plus de détails sur ce que vous pouvez passer
Vous pouvez également utiliser wp_list_categories et lui passer des arguments pour n'afficher que ce dont vous avez besoin. Une liste complète des arguments peut être trouvée dans le codex: https://developer.wordpress.org/reference/functions/wp_list_categories
Cela produira toutes les catégories (même si elles sont vides) en retrait pour indiquer la hiérarchie.
$args = array(
'child_of' => 0,
'current_category' => 0,
'depth' => 0,
'echo' => 1,
'exclude' => '',
'exclude_tree' => '',
'feed' => '',
'feed_image' => '',
'feed_type' => '',
'hide_empty' => 0,
'hide_title_if_empty' => false,
'hierarchical' => true,
'order' => 'ASC',
'orderby' => 'name',
'separator' => '<br />',
'show_count' => 0,
'show_option_all' => '',
'show_option_none' => __( 'No categories' ),
'style' => 'list',
'taxonomy' => 'category',
'title_li' => __( 'Categories' ),
'use_desc_for_title' => 1,
);
var_dump( wp_list_categories($args) );
comme ça :
<?php
$categories = get_categories( array(
'orderby' => 'name',
'order' => 'ASC'
) );
foreach( $categories as $category ) {
echo '<div class="col-md-4"><a href="' . get_category_link($category->term_id) . '">' . $category->name . '</a></div>';
}