워드프레스 메뉴에서 카테고리 글 개수 표시하는 방법
워드프레스 사이트의 메뉴에서 카테고리 글 개수를 표시하고 싶은 경우가 있을 수 있습니다. 내비게이션 메뉴에 추가된 카테고리 항목에 글 개수 (포스트 개수)를 표시하려는 경우 다음 글에서 소개하는 함수를 사용할 수 있습니다.
[ 이 글은 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월 기준).
사이드바의 카테고리 목록에 포스트 개수 표시하기
사이드바에 카테고리 리스트를 표시하고 각 카테고리 항목에 글 개수를 표시하려는 경우 워드프레스 관리자 페이지 > 테마 디자인 > 위젯에서 카테고리 위젯을 사이드바에 추가하고 "표시할 글 개수" 체크박스를 체크하면 카테고리에 글 개수가 표시됩니다.
그러면 다음과 같이 사이드바에 카테고리 목록이 표시되고 개별 카테고리 항목에 포스트 개수가 나타납니다.
와 신기하네요~ 다음에 필요할지도 몰라서 끌어가기 해갈께요~
좋은 포스팅 감사합니다!
혹시나 임의로 제작한 thumbnail이나, 끌어가기 글이 거부감이 드시면 언제든지 내리겠습니다. ㅠ
글 공유는 자유롭게 가능합니다. (다만 글 전체를 복사하거나 그림 링크까기 그대로 복사하여 사용하는 것만 자제해주시면 될 것 같습니다: https://www.thewordcracker.com/intermediate/prevent-hotlinking/ 글을 참고해보세요.)
즐거운 주말과 휴일 되시기 바랍니다^^
끌어가기를 하니, 복사된 단락에 제 애드센스 광고가 자동으로 박혀서 비공개로 전환후 삭제했습니당. 제가 작성한 글도 아닌데 제 광고가 삽입되는것이 도리에 어긋나는 것 같아서요 ㅎㅎ
하지만 즐겨찾기 해놨으니 언제든 방문해서 읽을 수 있겠죠?ㅎㅎ 지우시면 안돼요! ㅎ
korbuddy님의 애드센스 광고가 들어가도 상관없을 것 같습니다.ㅎㅎ