워드프레스 카테고리의 포스트를 리스트로 표시

categorylist

테고리는 비슷한 내용의 포스트를 묶어서 특정 카테고리에 관심있는 사람들이 편하게 관련된 포스트만 볼 수 있도록 도와주는 역할을 합니다. 워드프레스에서 카테고리는 메뉴로도 사용될 수 있기 때문에 방문자가 해당 메뉴(카테고리)를 클릭하여 원하는 카테고리 포스트의 리스트만 볼 수도 있죠. 그런데 직접 카테고리의 포스트 리스트를 어디에서나 보여주고 싶을 때가 있습니다. 그래서 오늘은 이럴때 사용할 수 있는 플러그인에 대해 소개하겠습니다.

List category posts

테스트 버젼

  • 워드프레스: 3.4.1
  • 플러그인: 0.24
  • 브라우져: 크롬, 파이어폭스 & 사파리
  • 다운로드

특징:

  • 쇼트코드를 사용하여 쉽게 카테고리 포스트 리스트를 포스트/페이지에 삽입
  • 다양한 쇼트코드 옵션을 사용하여 원하는 스타일로 리스트 구성
  • 템플릿을 제작하여 독창적인 포스트 리스트 제작 가능
  • 위젯 제공

사용법:

쇼트코드로 리스트 삽입

[ catlist ]를 사용하여 쉽게 포스트/페이지에 카테고리 리스트를 삽입합니다. 기본 사용법은 아래와 같이 카테고리 id, 카테고리 이름, 또는 카테고리 슬러그를 옵션으로 넣어서 해당 카테고리 포스트를 삽입합니다.
*아래 코드에서 쇼트코드를 감싸는 [ 와 ] 의 각각 바로 뒤와 앞에 스페이스는 빼고 사용하세요.

 [ catlist name=카테고리 이름 또는 슬러그 ]
 [ catlist id=카테고리 아이디 ]

예를 들어 카테고리 이름이 summerfruit이고 5개의 포스트를 최근 것부터 썸네일(50×50)과 함께 보여주고 싶다면 아래와 같이 옵션을 넣으면 되겠죠.

 [ catlist name=summerfruit numberposts=5 orderby=date order=desc thumbnail=yes thumbnail_size=50,50 ]

이 외에도 다양한 옵션을 줄 수 있습니다. 더 많은 옵션은 플러그인의 노트를 참고하세요.

HTML&CSS 커스터마이징

카테고리 리스트에서 특정 부분의 스타일을 변경하고 싶을 때 직접 커스터마이징을 할 수도 있습니다. 커스터마이징이 가능한 옵션은 아래와 같습니다.

autor_tag, author_class, catlink_tag, catlink_class, 
comments_tag, comments_class, date_tag, date_class, 
excerpt_tag, excerpt_class, morelink_class, 
thumbnail_class, title_tag, title_class

위의 옵션에서 comments_tag와 comments_class로 comments요소를 커스터마이징 하는 방법을 예로 보겠습니다.

[ catlist id=7 comments=yes comments_tag=p comments_class=lcp_comments ]

comments=yes는 각 포스트의 댓글 수를 보여주는 옵션입니다. 이 옵션에 comments_tag=p comments_class=lcp_comments를 추가하여 댓글을 보여줄 때 스타일을 커스터마이징할 수 있습니다.

템플릿 커스터마이징

기본 카테고리 리스트 디스플레이가 마음에 들지 않을 때는 템플릿을 직접 수정하여 리스트를 원하는 형태로 디스플레이할 수 있습니다.

템플릿을 사용하기 위해서는 “wp-content/themes/여러분의 테마폴더”아래에 “list-category-posts”폴더를 만들고 그 안에 “템플릿이름.php”를 작성하여 넣으세요.

템플릿은 기본으로 제공되는 “wp-content/plugins/list-category-posts/templates/”에 있는 default.php를 참고하여 수정하시면 도움이 되실 것같습니다.

템플릿을 다 만들었다면 아래와 같이 “template=템플릿이름”을 옵션으로 넣어 커스터마이징한 템플릿을 사용합니다.

[ catlist id=7 template=템플릿이름 ]

마치며

기본으로 제공하는 옵션이 매우 다양하기 때문에 쇼트코드만으로도 원하는 리스트를 만들 수 있을 것같네요. 하지만 php/html/css에 익숙하고 조금 더 개성있는 리스트를 만들고자 하실 때는 직접 커스터마이징 할 수 있는 기능도 있으니 잘 활용해보시기 바랍니다.

그럼 오늘도 즐거운 블로깅하세요. :)

그외 관심 포스트

  • http://yitzhak.pe.kr/ Yitzhak_ROK

    황선생님 썸네일이 안나오는 이유는 뭔가요?

    • http://www.hwangc.com/ HwangC

      위에서 예로 든 “[catlist name=summerfruit numberposts=5 orderby=date order=desc thumbnail=yes thumbnail_size=50,50]” 쇼트코드를 보시면 thumbnail=yes라는 것이 있습니다. 개발자의 말로는 이 옵션을 적용하면 썸네일이 나온다고 합니다. :)

  • 방랑자

    황선생님 블로그도 이 플러그인으로 꾸미신 건가요?
    적용을 해보니 그냥 텍스트 리스트만 뜨네요. 여기 블로그의 카테고리 탭을 클릭하면 보여지는 이미지와 텍스트 리스트는 어떻게 만들었는지 궁금합니다.

  • choi

    안녕하세요. 저 질문있는데요.. http://wordpress.org/plugins/recent-posts-from-each-category/ 여기 있는 거 처럼 각 카테고 리별로 최신 5개 글 출력하라고 하는데요..[mycatlist] 이 코드만 쓰면 된다고 하는데.. 이해가 안가서요.. 질문드립니다..

    • http://www.hwangc.com/ HwangC

      아래 설명을 보시면 posts 갯수를 설정할 수 있습니다. 다음과 같이 하면 될 것같네요.
      [mycatlist posts='5']
      쇼트코드 옵션 설명 – 옵션을 설정하지 않으면 default로 자동 설정됩니다.

      cat : Comma separated list of category IDs (Default ‘all’)
      posts : Numbers of recent posts from each category (default ’2′);
      title_length : Length of post title in words.. (default ’5′)
      excerpt_length : Length of post excerpt(description) in words (default ’20′).
      thumbnail : ‘yes’ or ‘no’ to display or hide post thumbnail. Post featured image is used for thumbnail if available, if not then automatically generated from image used in post content. (default ‘yes’)
      cat_title_tag : Title tag used for category (box) title (default ‘h2′)
      post_title_tag : Title tag used for post title (default ‘h2′)
      width : Width of category box. (default ’200px’)
      title_only : ‘yes’ or ‘no’ to display list of post titles only hiding thumbnail and post excerpt. (default ‘no’)
      cat_title_font_size : Font size of category title. (default ’20px’)
      limit : Set number of category box to display, this will short the categories according to most recent posts in it. (default ‘none’)

  • grayfire

    안녕하세요? 블로그를 통해 많은 도움을 받고 있습니다. 다름이 아니라, 해당 플러그인을 잘 사용하고 있는데요. date 를 포스트 제목 앞에 위치하게 만들고 싶습니다. 어떻게 해야 할까요?