私はこのコードを使用しました:
$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>';
}
しかし、1つのカテゴリのみを返しますが、すべてのカテゴリを取得するにはどうすればよいですか?
提供されたコードでは、get_the_ID()がその部分を実行している特定の投稿に対して選択されたカテゴリが選択されています。ただし、別の関数get_categories() https://developer.wordpress.org/reference/functions/get_categories/ を使用することをお勧めします。
$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>';
}
引数をパススルーして、より具体的にすることもできます(必要な場合)-パススルーできるものの詳細については、 https://developer.wordpress.org/reference/functions/get_terms/ を参照してください
また、wp_list_categoriesを使用して引数を渡し、必要なものだけを表示することもできます。引数の完全なリストはコーデックスにあります: https://developer.wordpress.org/reference/functions/wp_list_categories
これにより、階層を示すためにインデントされたすべてのカテゴリ(空であっても)が出力されます。
$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) );
このような :
<?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>';
}