programing

워드프레스에서 모든 카테고리를 표시하는 방법

mailnote 2023. 3. 22. 21:49
반응형

워드프레스에서 모든 카테고리를 표시하는 방법

이 코드를 사용했습니다.

      $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>';
        }

단 하나의 카테고리만 반환하는데 어떻게 모든 카테고리를 얻을 수 있을까요?

보내주신 코드에서는 특정 포스트 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를 사용하여 필요한 것만 표시하도록 인수를 전달할 수도 있습니다.인수 전체 목록은 codex: 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>';   
} 

네이티브가 아닐 수도 있지만, 저는 항상 다음을 사용합니다.

$categories = get_terms([
    'taxonomy' => 'category'
]);

언급URL : https://stackoverflow.com/questions/39704715/how-to-display-all-categories-in-wordpress

반응형