2011-08-30 5 views
1

블로그 글 (카테고리 4-11)에서 게시물이 제외됩니다.Wordpress 제외 카테고리 글 수 페이지 당 게시물 수

나는 다음과 같은 코드를 사용하여 이렇게 오전 :

이 페이지에서 카테고리 게시물을 제외하는 데 사용하지만 10 인 페이지 당 게시물 수를 유지하지 않는 또는 무엇이든 그것이에 설정되어
if (have_posts()) : while (have_posts()) : the_post(); 
    $category = get_the_category(); 


    if($category[0]->cat_ID > 11 || $category[0]->cat_ID < 4){ 
     continue; 
    } 

관리자.

Wordpress 루프에서 건너 뛴 게시물에 대해 게시 횟수를 하나씩 줄이면 어떻게됩니까? 원하지 않는 범주 게시물을 제외하고 페이지 당 같은 양의 게시물을 보유 할 수 있습니까?

답변

0

이 작업을 수행하는 가장 쉬운 (그러나 가장 효율적인) 방법은 ... category__in를 사용하여 사용자 정의 쿼리

global $wp_query; 
$wp_query = new WP_Query(array("category__in"=>array(4,5,6,7,8,9,10,11))); 

를 글로벌 $wp_query을 대체하는 것입니다 ... 다음을 수행 루프 ...

while (have_posts()){ 
    the_post(); 

    //etc.. 
} 

이렇게하면 페이징이 정확 해지고 next_posts_link()과 같은 상위 수준의 템플릿 기능에 의존 할 수 있습니다.

아마보다 효율적인 방법 (즉 버리고 $wp_query를 대체하지 않습니다)이 실행되기 전에 원래의 질의에 엉망이 될 것입니다 ...

add_action('parse_query', 'my_parse_query'); 
function my_parse_query(&$q){ 
     //decide if you want to mess with the query.... 
     //if not, return 
     $q->set_query_var("category__in", array(4,5,6,7,8,9,10,11)); 
} 

my_parse_query 모든 쿼리를 호출 할 것입니다 포함 페이지 및 단일 게시물에 대한 코드이므로 함수에 논리를 추가해야만 의미가있는 곳에 category__in을 추가해야합니다.

관련 문제