트위터 메세지만 간단히 보여주는, Twitter for Wordpress 블로그에서 트위터링하세요. Thread Twitter 플러그인
05 30

워드프레스에서 블로그 첫화면은 index.php나 home.php 템플릿을 사용해 보여주고, 개별 포스트를 보여줄 때는 single.php를 이용합니다. 카테고리 페이지는 category.php를 이용하는데, 카테고리 템플릿 파일의 이름을 category-1.php, category-2.php 처럼 ‘category-’뒤에 카테고리 ID를 넣어주어 각각 다르게 꾸밀  있습니다.

반면 single.php는 카테고리 페이지처럼 이렇게 카테고리 ID를 이용해 달리 꾸밀 수 없지요. 그런데 역시나 찾아보니 functions.php에 필터링 코드를 추가해 카테고리별로 각각 다른 single.php 파일을 적용할 수 있는 방법이 있습니다. 이 말은 곧, 카테고리별로 포스트 디자인을 달리할 수 있다는 말입니다.

적용하는 방법은 간단합니다. 아래 코드를 사용 중인 테마의 functions.php를 열어 ‘<?php’ 바로 아래에 추가합니다. 다음 single.php 파일을 복사해 single-ID.php로 이름을 바꿔줍니다. 이때 ID는 카테고리 ID입니다. 카테고리 ID는 Post > Categories로 이동해 카테고리 이름이나 Edit 위에 커서를 올리면 브라우저의 상태표시줄에 ‘cat_ID=231′처럼 뜹니다. 곧 A라는 카테고리의 ID가 231이라면 single-231.php로 파일 이름을 바꿔주시면 되겠습니다.

add_filter('single_template', create_function('$t', 'foreach( (array) get_the_category() as $cat ) { if ( file_exists(TEMPLATEPATH . "/single-{$cat-&gt;term_id}.php") ) return TEMPLATEPATH . "/single-{$cat-&gt;term_id}.php"; } return $t;' ));

코드는 해당 포스트의 카테고리 ID로 된 single-ID.php 파일이 있으면 해당 템플릿을 이용해 포스트를 뿌려주며, 없을 경우 기본 single.php 템플릿을 이용합니다. 곧 모든 카테고리별로 single-ID.php로 바꿀 필요가 없다는 뜻입니다.

CSS를 다룰 줄 아신다면 카테고리별로 전체 디자인을 달리할 수 있겠지만, 간단하게는 카테고리별로 다른 광고를 적용해볼 수 있습니다. 애드센스를 사용하신다면, 카테고리별로 다른 크기의 애드센스 광고 단위를 위치를 달리해 적용하실 수 있겠습니다.

특정 포스트를 여러개의 카테고리로 분류한 경우 카테고리 ID가 큰 single-ID.php 템플릿 파일을 이용하는데, 이 점은 정확하지 않을 수 있습니다. 제 경우는 카테고리를 복수지정하지 않기 때문에 시험삼아 몇번 해봤을 뿐이니까요.

카테고리별로 사이드바도 각각 다르게 하고 싶으시다면 ‘템플릿 페이지별로 다른 사이드바 적용하기‘글을 참고하세요. 혹 Appearance > Widgets 메뉴를 이용해 사이드바에 위젯을 추가해 사용하지 않으신다면  single-ID.php 파일에서 <?php include (’sidebar-231.php’); ?> 처럼 바로 사이드바 템플릿 파일을 불러오시면 됩니다.

코드 출처 : http://www.nathanrice.net/blog/wordpress-single-post-templates/

  1. 템플릿 페이지별로 다른 사이드바 적용하기
  2. MU 카테고리 슬러그 편집 플러그인
  3. 페이지 이동을 편리하게 해주는, WP-PageNavi
  4. 특정 카테고리의 글이 블로그 메인에 나타나지 않도록 하는 방법
  5. 포토블로그용 워드프레스 테마, AutoFocus
, , , ,

생각을 나눠 주세요.