[워드프레스] 카테고리 글을 게시판 형식으로 나열하기

10

네이버 지식에서 “한국형 게시판처럼 쎔네일 표시 없이 제목만 나열하고” 싶다는 질문이 있어서 Pro Grid와 같은 플러그인을 사용하면 원하는 형식으로 카테고리 글을 나열할 수 있을 것이라는 답변을 준 적이 있습니다. 하지만 질문하신 분이 찾은 플러그인은 List category posts라는 플러그인이네요.

이 플러그인은 단순하게 카테고리 글을 나열하기 때문에 추천하지 않은 것인데, 질문하신 분은 단순히 리스트식으로 글을 나열하기를 원했던 것 같습니다.

사실 이런 기능 때문에 플러그인을 사용한다는 것은 별로 좋은 옵션이 아닙니다. 다음과 비슷한 코드를 사용하면 쉽게 카테고리 글을 목록 식으로 나열할 수 있습니다.

// Display category posts with titles only in WordPress
<ul>
<?php
$catquery = new WP_Query( 'cat=1&posts_per_page=10' ); // 카테고리 ID, 표시 글 개수
while($catquery->have_posts()) : $catquery->the_post();
?>
<li><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a>
</li>
<?php endwhile; ?>
</ul>

CSS로 적절히 레이아웃만 조정하면 됩니다. (실제로 테스트해보지 않았지만 문제가 없이 잘 작동할 것이라 생각됩니다.) 이런 작업 때문에 플러그인을 사용하는 것은 역시 과용이라고 밖에 할 수 없을 것 같습니다.

내침 김에 이 블로그의 카테고리 글을 게시판 형식으로 표시해보았습니다.

display category posts in list format in wordpress - 워드프레스 카테고리 글을 게시판 형식으로 표시하기시간이 나면 댓글 개수도 표시하는 등 조금 더 정교하게 바꿀 수 있지만 시간이 부족하여 레이아웃만 나오도록 대충 조정했습니다.

드림위버 등에서 테이블(Table)을 만들어 이용하면 쉽게 가능하지만, div 태그를 사용하여 CSS 표로 만들었습니다. (HTML 테이블을 사용하면 속도가 느려진다고 하네요.) 기본적인 코드는 이 jsfiddle의 코드를 응용했습니다(참고). 방식은 매우 간단하지만 개별 워드프레스 테마에 맞게 조정하고 CSS 코드를 만드는 작업이 제법 시간이 걸리네요.

글 번호를 추가하는 방법은 여기에서 확인할 수 있습니다. 글 제목만 표시하면 매우 간단하게 가능하지만, 일련번호를 추가하는 등의 작업을 병행하면 초보자가 하기에는 조금 복잡해지네요.

참고로 별로 권장하지 않지만 특정 카테고리의 글들을 Kboard 게시판으로 이전하는 것도 고려해볼 수 있습니다. 이 경우 DB에서 wp_posts 테이블과 Kboard 테이블을 비교하여 워드프레스 글을 케이보드로 복사하는 방식으로 이전이 가능합니다. 댓글이 있다면 조금 더 복잡해질 것입니다. 이 작업이 용이하지 않으면 여기에서 서비스(유료)를 의뢰하실 수 있습니다.

참고:

*일부 글에 제휴링크가 포함될 수 있으며, 기부를 통해 블로그 운영을 후원하실 수 있습니다.

Related Posts

10개 댓글
  1. 정신나간즐겜러 (게임통합) 님의 말씀

    저 ACF 질문인데요..
    acf에 리피터 기능이 있잖아요..

    리피터를 하다 보면 리스트가 많아져서 몇개씩 끊어서 보여주는 즉 페이징을 하고 싶은데 가능한가요?

    두번째는 리스트를 클릭할때 내용은 따로 보여 주고 싶은데…
    물론 ACF 에 정보가 있는건데요..

    제품명
    제품내용

    여기서 제품명은 리스트로 보여주고 제품내용을 새창에서 보여주고 싶습니다.

    읽어주셔서 감사합니다.

    1. Word 님의 말씀

      repeater에서 페이지 나눔 기능을 구현하는 방법은 다음 글을 참고해보세요.

      https://jonathannicol.com/blog/2014/03/06/paginating-an-advanced-custom-fields-repeater/

    2. Word 님의 말씀

      두 번째 질문은 클릭했을 때 새 창에서 뜨도록 만들고 싶다는 질문으로 들리네요.

      target=”_blank”를 추가하면 크롬에서는 새 탭에서 표시됩니다.
      이것은 보안 문제 때문에 브라우저에서 그렇게 작동하는 것이라고 합니다.

      탭이 아닌 새 창에서 뜨도록 만들려면 javascript 또는 jquery 등을 사용하여야 할 것입니다.

      다음 글을 참고해보세요.

      https://stackoverflow.com/questions/12939928/make-a-link-open-a-new-window-not-tab

  2. 정신나간즐겜러 (게임통합) 님의 말씀

    안녕하세요..
    궁금한게 있어서요..
    포스트 리스트에 파일을 같이 포함하고 싶은데 가능할까요?
    글제목(파일명)

    파일명을 누르면 다운이 되었으면 하는데..
    물론 파일은 ACF를 이용하고 싶습니다.

    매일 들어오는데 늘 도움이 됩니다.
    감사합니다.

    1. Word 님의 말씀

      안녕하세요?

      글제목(다운로드) 식으로 하셔서 다운로드를 누르면 파일의 URL로 연결되어 다운로드가 되도록 하면 어떨까요?

      파일명을 가져올 수 있다면 글 제목( 파일명)으로 하셔도 될 것 같습니다.

    2. Word 님의 말씀

      조금 찾아보니까 다음 글이 도움이 될 것 같습니다.

      https://stackoverflow.com/questions/31830025/acf-file-download-not-working-added-screenshots?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa

      1. 정신나간즐겜러 (게임통합) 님의 말씀

        감사합니다. 해결 했어요..^^

  3. moko2man 님의 말씀

    안녕하세요. 이 코드를 어디에 써야 하나요? page의 텍스트 부분에 위 코드를 붙여넣기 하니, 자동 코드 변환이 되어 안먹히네요ㅠ

    1. Word 님의 말씀

      안녕하세요?

      위의 내용은 카테고리 템플릿이나 Index.php 파일 등 테마 소스에 적용해야 하는데요, 워드프레스에 대한 지식이 조금 필요합니다. 이러한 부분에 대해 잘 모르시면 플러그인을 사용하시면 좋을 듯 합니다.

      List category posts 같은 플러그인이 있습니다(위의 본문에 언급됨).
      https://wordpress.org/plugins/list-category-posts/

      다른 방법으로 PHP 코드를 페이지에 추가할 수 있도록 해주는 플러그인이 있습니다.
      http://www.thewordcracker.com/intermediate/insert-php-in-wordpress-posts-or-pages/ 글을 참고해보세요.

      참고로 PHP 코드를 직접 페이지/글에 추가하는 방식은 별로 바람직하지 않고요, 가급적 숏코드를 만들어서 적용하는 것이 좋습니다. 위에 링크된 글에서 소개한 “Insert PHP Code Snippet 플러그인”이 더 바람직할 것입니다.

      1. moko2man 님의 말씀

        아 숏코드로 만들어 하면 되는군요. 감사합니다.

댓글 남기기