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