2014-05-25 2 views
2

wp 쿼리 루프가 있습니다. 게시물이 일부 카테고리에 속하는지 확인하고 싶습니다. the_category()을 사용하여 카테고리를 가져올 수 있습니다. 나는 시도했다wp 루프로 카테고리를 확인하십시오.

그리고 차 카테고리를 제외한 나머지 모든 지위를 모든 'car'카테고리까지 푸는 방법.

+0

가 먼저'car' 범주에서 게시물을 표시하고 다른 모든 게시물 즉'car'에 속하지 않는해야합니까 범주? –

+0

@PieterGoosen 예. 정확히 –

답변

1

the_category()은 많은 카테고리를 반환합니다.

당신은 당신은 여기에 두 개의 쿼리를 실행할 수 있습니다 get the category

$categories = get_the_category(); 
foreach($categories as $cat) { 
    if($cat->cat_name == 'car') { 
    // do something 
    } 
} 
+0

그리고 자동차 카테고리를 제외한 나머지 게시물을 모두 '자동차'카테고리로 푸시하는 방법. 업데이트 된 질문보기 –

+0

루프를 반복 할 수 없습니다. echo gettype (the_category())을 시도하면 NULL이 표시되지만 echo는 the_category()에 출력됩니다. –

1

을 시도 할 수도 있습니다. 첫 번째 쿼리는 자동차 간병인으로부터 모든 게시물을 가져옵니다. 두 번째 쿼리는 car 카테고리의 게시물을 제외한 다른 모든 게시물을 가져옵니다. 자동차 카테고리의 ID로 CATID FOR CAR을 변경하고 두 번째 쿼리에서 ID 앞에 마이너스 기호를 잊지 마십시오. 마이너스 기호는 제외를 의미합니다.

당신은 사본이에 대한 자세한 내용을보실 수 있습니다

: WP_Query

$do_not_duplicate = array(); 

$args = array(
    'cat' => CATID FOR CAR 
); 

$carargs = new WP_Query($args); 

if($carargs->have_posts()): 

    while ($carargs->have_posts()) : $carargs- >the_post(); 
    $do_not_duplicate[] = $post->ID; 

<----your loop----> 

    endwhile; 

endif; 

wp_reset_postdata(); 


$args2 = array(
    'cat' => -CATID FOR CAR, 
    'post__not_in' => $do_not_duplicate 
); 

$restargs = new WP_Query($args2); 

if($restargs->have_posts()): 

    while ($restargs->have_posts()) : $restargs- >the_post(); 
    $do_not_duplicate[] = $post->ID; 

<----your loop----> 

    endwhile; 

endif; 

wp_reset_postdata(); 
+0

나는 이것을했다. 그러나 페이징 문제 .i 다중 루프가있는 경우 페이지 매김을 사용할 수 없습니다 –

+0

이 질문을 참조하십시오 http://wordpress.stackexchange.com/questions/145556/how-to-show-the-posts-of-some-category -first-then-then-all-other –

+0

두 쿼리에 페이지 매김을해야 하나, 두 번째 쿼리에만 페이지 매김을해야합니까? –