-
익명손님@2007/04/17 1:54 오전 #2633
글을 쓰면서 혹시 082net 님께서 답변을 해주시지 않을까 생각했는데 역시나 이군요 😛
이렇게 빨리 답해 주셔서 감사합니다. 전 the_category는 한 글에 속한 카테고리를 보여주고 get_the_category는 (ararry이길래) 전체를 다 보여주는줄 알았습니다 –;
한번해볼께요. 🙂 감사합니다.
익명손님@2007/04/17 1:54 오전 #2634<?php foreach(get_the_category() as $cat) { ?> 을 통해서 모든 category를 한개씩 불러드려서 작업을 하려 하는데, 이게 제일 마지막의 category만 불러오는군요
예를 들어서 1-4 까지의 Category가 있는데 4만 가져오고 끝나는군요. foreach의 문제는 아닌거 같고 get_the_category의 문제인거 같습니다. WP2.1.3
첫인덱스 페이지에서 카테고리별로 글을 몇개씩 뽑아서 정렬하려는데 참 힘드네요 –;
혹시 아시는 분 계신가요
익명손님@2007/04/17 1:54 오전 #2636<?php foreach(get_the_category() as $cat) { ?> 을 통해서 모든 category를 한개씩 불러드려서 작업을 하려 하는데, 이게 제일 마지막의 category만 불러오는군요
예를 들어서 1-4 까지의 Category가 있는데 4만 가져오고 끝나는군요. foreach의 문제는 아닌거 같고 get_the_category의 문제인거 같습니다. WP2.1.3
첫인덱스 페이지에서 카테고리별로 글을 몇개씩 뽑아서 정렬하려는데 참 힘드네요 –;
혹시 아시는 분 계신가요
2007/04/17 7:02 오전 #2635우선 get_the_category() 함수를 Loop 안에서 사용하셨는지 확인해 보시기 바랍니다.
두번째로, get_the_category() 함수는 전체 카테고리를 불러오지 않고 각각의 글이 속한 카테고리를 가져올 때 사용합니다. 해당 글이 한 분류에만 속해 있다면 하나의 카테고리만 나타나는게 정상이겠죠.
인덱스 페이지에서 몇개의 카테고리에 대해 지정된 카테고리에 해당하는 글만을 출력하려면…
루프를 카테고리 수 만큼 반복시키고, 각 루프의 query 값에 카테고리 아이디 또는 이름을 필터링하도록 해 주면 될 것 같군요…카테고리별로 출력하는 방식을 다르게 하지 않는 다면… (카테고리 아이디 기준)
<?php $front_cats = array(27,24,30); // 출력할 카테고리 아이디들
foreach ($front_cats as $cat_id) {
$posts = query_posts($query_string . "&cat=".$cat_id);
if(have_posts()) :
while (have_posts()) : the_post();
...
포스트 출력 내용(제목, 내용, 날짜, 기타등등...
...
endwhile;
endif;
} // endforeach// 아래는 위 카테고리에 속하지 않은 나머지 글들도 출력하는 내용입니다.
// 필요치 않은 경우는 위 내용만으로 끝납니다.
$posts = query_posts($query_string . 'cat=-27,-24,-30');
if(have_posts()):
while(have_posts)): the_post();
...위 카테고리에 속하지 않은 글들 출력(제목, 내용, 날짜, 기타등등...)
endwhile;
endif;
?>
와 같은 식으로 하면 될 듯 합니다. 물론 각 카테고리에 속한 글이 없을 경우에 대비한 코드도 잘 맞추어 넣으셔야 할겁니다.
맨 처음 페이지에서만 위 내용을 적용하려면 if(is_home()) 으로 적당히 구분지어 주셔야 합니다. 그렇지 않으면 Tag Archive 나 기타 index.php 파일을 경유해 출력되는 페이지에서 난감한 상황이 발생 할 수 있겠죠 😯
이 외에도 다른 좋은 방법이 있을 수 있으니 이런 저런 방법으로 시도해 보세요 😉
2007/04/17 7:02 오전 #2637우선 get_the_category() 함수를 Loop 안에서 사용하셨는지 확인해 보시기 바랍니다.
두번째로, get_the_category() 함수는 전체 카테고리를 불러오지 않고 각각의 글이 속한 카테고리를 가져올 때 사용합니다. 해당 글이 한 분류에만 속해 있다면 하나의 카테고리만 나타나는게 정상이겠죠.
인덱스 페이지에서 몇개의 카테고리에 대해 지정된 카테고리에 해당하는 글만을 출력하려면…
루프를 카테고리 수 만큼 반복시키고, 각 루프의 query 값에 카테고리 아이디 또는 이름을 필터링하도록 해 주면 될 것 같군요…카테고리별로 출력하는 방식을 다르게 하지 않는 다면… (카테고리 아이디 기준)
<?php $front_cats = array(27,24,30); // 출력할 카테고리 아이디들
foreach ($front_cats as $cat_id) {
$posts = query_posts($query_string . "&cat=".$cat_id);
if(have_posts()) :
while (have_posts()) : the_post();
...
포스트 출력 내용(제목, 내용, 날짜, 기타등등...
...
endwhile;
endif;
} // endforeach// 아래는 위 카테고리에 속하지 않은 나머지 글들도 출력하는 내용입니다.
// 필요치 않은 경우는 위 내용만으로 끝납니다.
$posts = query_posts($query_string . 'cat=-27,-24,-30');
if(have_posts()):
while(have_posts)): the_post();
...위 카테고리에 속하지 않은 글들 출력(제목, 내용, 날짜, 기타등등...)
endwhile;
endif;
?>
와 같은 식으로 하면 될 듯 합니다. 물론 각 카테고리에 속한 글이 없을 경우에 대비한 코드도 잘 맞추어 넣으셔야 할겁니다.
맨 처음 페이지에서만 위 내용을 적용하려면 if(is_home()) 으로 적당히 구분지어 주셔야 합니다. 그렇지 않으면 Tag Archive 나 기타 index.php 파일을 경유해 출력되는 페이지에서 난감한 상황이 발생 할 수 있겠죠 😯
이 외에도 다른 좋은 방법이 있을 수 있으니 이런 저런 방법으로 시도해 보세요 😉
-
AuthorPosts
- 답변은 로그인 후 가능합니다.