워드프레스 메뉴에서 카테고리 글 개수 표시하는 방법

워드프레스 사이트의 메뉴에서 카테고리 글 개수를 표시하고 싶은 경우가 있을 수 있습니다. 내비게이션 메뉴에 추가된 카테고리 항목에 글 개수 (포스트 개수)를 표시하려는 경우 다음 글에서 소개하는 함수를 사용할 수 있습니다.

[ 이 글은 2020년 3월 2일에 최종 업데이트되었습니다. ]

워드프레스 메뉴에서 카테고리 글 개수 표시하는 방법

워드프레스에서 카테고리를 메뉴에 추가하려면 워드프레스 알림판 > 테마 디자인 > 메뉴 (워드프레스 버전이 4.x대인 경우 외모 > 메뉴)에서 원하는 메뉴를 선택한 다음 왼쪽 패널에서 "카테고리"를 눌러서 원하는 카테고리 항목을 오른쪽으로 끌어다 놓으면 됩니다.

워드프레스에서 카테고리 항목 추가하기

이렇게 카테고리 항목을 메뉴에 추가하면 메뉴에 카테고리 이름이 추가됩니다. 하지만 개별 카테고리 내의 글 개수는 표시되지 않습니다.

워드프레스 메뉴에서 카테고리 글 개수 표시

위의 그림에서와 같이 카테고리 항목 옆에 글 개수가 표시되도록 하고 싶은 경우 다음과 같은 코드를 사용 중인 워드프레스 테마의 함수 파일(functions.php)에 추가하면 됩니다(참고로 위에서 "CSS"는 카테고리가 아니기 때문에 글 개수가 표시되지 않은 것입니다).

차일드 테마를 만들어서 차일드 테마 내의 함수 파일에 아래 함수를 추가하시기 바랍니다. 차일드 테마(자식 테마, 하위 테마)가 아닌 부모 테마(본래 테마) 내의 함수 파일에 코드를 추가할 경우, 추후 테마 업데이트 시 추가되거나 수정된 테마 파일이 초기화됩니다.

// Display post count for categories in WordPress menu navigations
// 워드프레스 메뉴에서 카테고리 항목에 글 개수 표시하기

add_filter('the_title', 'wpse165333_the_title', 10, 2);
function wpse165333_the_title($title, $post_ID)
{
if( 'nav_menu_item' == get_post_type($post_ID) )
{
if( 'taxonomy' == get_post_meta($post_ID, '_menu_item_type', true) && 'category' == get_post_meta($post_ID, '_menu_item_object', true) )
{
$category = get_category( get_post_meta($post_ID, '_menu_item_object_id', true) );
$title .= sprintf(' (%d)', $category->count);
}
}
return $title;
}

// Source: stackexchange

get_post_meta는 포트스의 포스트 메타 필드를 가져오는 함수입니다(여기 참조), get_category여기를 참고해보시기 바랍니다.

참고로 Custom Taxonomy의 경우 테스트는 해보지 않았습니다만, get_term_by를 활용하면 가능할 것 같습니다(참고).

※ 이 글에 소개된 코드 스니펫은 5년도 더 지났지만 최신 워드프레스 버전(아바다 테마와 이 블로그에 현재 설치되어 있는 GeneratePress 테마 사용)에서 테스트해보니 잘 작동하는 것을 확인했습니다(2020년 3월 기준).

사이드바의 카테고리 목록에 포스트 개수 표시하기

사이드바에 카테고리 리스트를 표시하고 각 카테고리 항목에 글 개수를 표시하려는 경우 워드프레스 관리자 페이지 > 테마 디자인 > 위젯에서 카테고리 위젯을 사이드바에 추가하고 "표시할 글 개수" 체크박스를 체크하면 카테고리에 글 개수가 표시됩니다.

워드프레스 사이드바의 카테고리 글 개수 표시

그러면 다음과 같이 사이드바에 카테고리 목록이 표시되고 개별 카테고리 항목에 포스트 개수가 나타납니다.

워드프레스 사이드바 카테고리 리스트 추가 - 카테고리에 포함된 글 개수 표시

참고:


4개 댓글

  1. 와 신기하네요~ 다음에 필요할지도 몰라서 끌어가기 해갈께요~
    좋은 포스팅 감사합니다!
    혹시나 임의로 제작한 thumbnail이나, 끌어가기 글이 거부감이 드시면 언제든지 내리겠습니다. ㅠ

      1. 끌어가기를 하니, 복사된 단락에 제 애드센스 광고가 자동으로 박혀서 비공개로 전환후 삭제했습니당. 제가 작성한 글도 아닌데 제 광고가 삽입되는것이 도리에 어긋나는 것 같아서요 ㅎㅎ

        하지만 즐겨찾기 해놨으니 언제든 방문해서 읽을 수 있겠죠?ㅎㅎ 지우시면 안돼요! ㅎ

댓글 남기기

* 이메일 주소는 공개되지 않습니다.